From 4b76efad4ad82a6aff4a3b7451eacf6bc4104b11 Mon Sep 17 00:00:00 2001 From: mattoverby Date: Wed, 15 Oct 2025 12:35:06 -0500 Subject: [PATCH 1/2] added clang format --- .clang-format | 246 ++++++++++++++++++++++++++++++++++++++++++++ CMakeLists.txt | 2 +- README.md | 4 +- src/ClothAssert.hpp | 40 ++++--- src/ClothMesh.hpp | 229 +++++++++++++++++++---------------------- src/Objective.hpp | 160 +++++++++++++--------------- src/Solver.hpp | 226 +++++++++++++++++++--------------------- test/main.cpp | 113 ++++++++++---------- test/test.cpp | 78 +++++++------- 9 files changed, 646 insertions(+), 452 deletions(-) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..8a5f669 --- /dev/null +++ b/.clang-format @@ -0,0 +1,246 @@ +--- +Language: Cpp +# BasedOnStyle: Mozilla +AccessModifierOffset: -2 +AlignAfterOpenBracket: Align +AlignArrayOfStructures: None +AlignConsecutiveAssignments: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + AlignFunctionPointers: false + PadOperators: true +AlignConsecutiveBitFields: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + AlignFunctionPointers: false + PadOperators: false +AlignConsecutiveDeclarations: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + AlignFunctionPointers: false + PadOperators: false +AlignConsecutiveMacros: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + AlignFunctionPointers: false + PadOperators: false +AlignConsecutiveShortCaseStatements: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCaseColons: false +AlignEscapedNewlines: Right +AlignOperands: Align +AlignTrailingComments: + Kind: Always + OverEmptyLines: 0 +AllowAllArgumentsOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: false +AllowBreakBeforeNoexceptSpecifier: Never +AllowShortBlocksOnASingleLine: Never +AllowShortCaseLabelsOnASingleLine: false +AllowShortCompoundRequirementOnASingleLine: true +AllowShortEnumsOnASingleLine: true +AllowShortFunctionsOnASingleLine: Inline +AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: All +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: TopLevel +AlwaysBreakAfterReturnType: TopLevel +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: Yes +AttributeMacros: + - __capability +BinPackArguments: false +BinPackParameters: false +BitFieldColonSpacing: Both +BraceWrapping: + AfterCaseLabel: false + AfterClass: true + AfterControlStatement: Never + AfterEnum: true + AfterExternBlock: true + AfterFunction: true + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: true + AfterUnion: true + BeforeCatch: false + BeforeElse: false + BeforeLambdaBody: false + BeforeWhile: false + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: false + SplitEmptyNamespace: true +BreakAdjacentStringLiterals: true +BreakAfterAttributes: Leave +BreakAfterJavaFieldAnnotations: false +BreakArrays: true +BreakBeforeBinaryOperators: None +BreakBeforeConceptDeclarations: Always +BreakBeforeBraces: Mozilla +BreakBeforeInlineASMColon: OnlyMultiline +BreakBeforeTernaryOperators: true +BreakConstructorInitializers: BeforeComma +BreakInheritanceList: BeforeComma +BreakStringLiterals: true +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +EmptyLineAfterAccessModifier: Never +EmptyLineBeforeAccessModifier: LogicalBlock +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: false +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IfMacros: + - KJ_IF_MAYBE +IncludeBlocks: Preserve +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + SortPriority: 0 + CaseSensitive: false + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + SortPriority: 0 + CaseSensitive: false + - Regex: '.*' + Priority: 1 + SortPriority: 0 + CaseSensitive: false +IncludeIsMainRegex: '(Test)?$' +IncludeIsMainSourceRegex: '' +IndentAccessModifiers: false +IndentCaseBlocks: false +IndentCaseLabels: true +IndentExternBlock: AfterExternBlock +IndentGotoLabels: true +IndentPPDirectives: None +IndentRequiresClause: true +IndentWidth: 4 +IndentWrappedFunctionNames: false +InsertBraces: false +InsertNewlineAtEOF: false +InsertTrailingCommas: None +IntegerLiteralSeparator: + Binary: 0 + BinaryMinDigits: 0 + Decimal: 0 + DecimalMinDigits: 0 + Hex: 0 + HexMinDigits: 0 +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +KeepEmptyLinesAtEOF: false +LambdaBodyIndentation: Signature +LineEnding: DeriveLF +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 4 +ObjCBreakBeforeNestedBlockParam: true +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: false +PackConstructorInitializers: BinPack +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakOpenParenthesis: 0 +PenaltyBreakScopeResolution: 500 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyIndentedWhitespace: 0 +PenaltyReturnTypeOnItsOwnLine: 200 +PointerAlignment: Left +PPIndentWidth: -1 +QualifierAlignment: Leave +ReferenceAlignment: Pointer +ReflowComments: true +RemoveBracesLLVM: false +RemoveParentheses: Leave +RemoveSemicolon: false +RequiresClausePosition: OwnLine +RequiresExpressionIndentation: OuterScope +SeparateDefinitionBlocks: Leave +ShortNamespaceLines: 1 +SkipMacroDefinitionBody: false +SortIncludes: CaseSensitive +SortJavaStaticImport: Before +SortUsingDeclarations: LexicographicNumeric +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceAroundPointerQualifiers: Default +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeJsonColon: false +SpaceBeforeParens: ControlStatements +SpaceBeforeParensOptions: + AfterControlStatements: true + AfterForeachMacros: true + AfterFunctionDefinitionName: false + AfterFunctionDeclarationName: false + AfterIfMacros: true + AfterOverloadedOperator: false + AfterPlacementOperator: true + AfterRequiresInClause: false + AfterRequiresInExpression: false + BeforeNonEmptyParentheses: false +SpaceBeforeRangeBasedForLoopColon: true +SpaceBeforeSquareBrackets: false +SpaceInEmptyBlock: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: Never +SpacesInContainerLiterals: true +SpacesInLineCommentPrefix: + Minimum: 1 + Maximum: -1 +SpacesInParens: Never +SpacesInParensOptions: + InCStyleCasts: false + InConditionalStatements: false + InEmptyParentheses: false + Other: false +SpacesInSquareBrackets: false +Standard: Latest +StatementAttributeLikeMacros: + - Q_EMIT +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 4 +UseTab: Never +VerilogBreakBetweenInstancePorts: true +WhitespaceSensitiveMacros: + - BOOST_PP_STRINGIZE + - CF_SWIFT_NAME + - NS_SWIFT_NAME + - PP_STRINGIZE + - STRINGIZE +... + diff --git a/CMakeLists.txt b/CMakeLists.txt index d26e645..34fecf3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ project(cloth_sim_tutorial LANGUAGES CXX) option(CLOTH_DEBUG "run with debug options" OFF) option(CLOTH_TESTING_ONLY "only compile unit tests" OFF) -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) add_definitions(-DCLOTH_ROOT_DIR="${CMAKE_CURRENT_SOURCE_DIR}") diff --git a/README.md b/README.md index 20c8b21..4226668 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This results in a block-sparse linear system for which the velocity deltas are s The B&W method is conceptually straight forward. However, there are numerous gotchas not apparent in the original references. In particular, working out the Jacobians of some models can be nontrivial. Even when correct, the derivatives can still produce hard-to-debug instabilities. -The [dynamic deformables course notes](https://doi.org/10.1145/3388769.3407490) describes this well, and I highly recommend reviewing the later chapters on cloth simulation for a thorough review of the topic. +The [dynamic deformables course notes](https://doi.org/10.1145/3388769.3407490) describes this well, and I highly recommend reviewing the later chapters on cloth simulation. Nonetheless, implicit time integration remains a valuable and sometimes necessary tool for modern graphics applications. Recently, optimization-based methods have grown in popularity. This approach formulates the Eqs. of motion as an [iteratively minimized objective function](https://en.wikipedia.org/wiki/Optimization_problem). @@ -34,7 +34,7 @@ $`\bar{x} = x + hv + h^2 M^{-1} f_{ext}`$, $`g(x) = \frac{1}{2h^2}\|M^{1/2}(x-\bar{x})\|^2 + \sum E(x)`$, -for vertex locations $x$, time step (sec) $h$, diagonal mass matrix $M$, velocities $v$, and external forces (gravity, wind, etc...) +for vertex locations $x$, time step (seconds) $h$, diagonal mass matrix $M$, velocities $v$, and external forces (gravity, wind, etc...) $`f_{ext}`$. The term $`\bar{x}`$ is the *explicit predictor* that is computed at the beginning of the time step. Computing a frame of animation amounts to iteratively minimizing the above objective until some convergence criteria is met (e.g., the norm of the gradient is below some threshold). diff --git a/src/ClothAssert.hpp b/src/ClothAssert.hpp index 7975731..11b7441 100644 --- a/src/ClothAssert.hpp +++ b/src/ClothAssert.hpp @@ -4,29 +4,28 @@ #ifndef CLOTHASSERT_HPP #define CLOTHASSERT_HPP 1 -#include -#include +#include #include +#include -namespace cloth -{ +namespace cloth { -static inline void AssertHandler(bool cond, const std::string& file, const int& line) +static inline void +AssertHandler(bool cond, const std::string& file, const int& line) { - if (!cond) - { - std::string err_msg = "Assertion failed in "+file+" line "+std::to_string(line); - throw std::runtime_error(err_msg.c_str()); - } + if (!cond) { + std::string err_msg = "Assertion failed in " + file + " line " + std::to_string(line); + throw std::runtime_error(err_msg.c_str()); + } } -static inline void AssertHandlerMsg(bool cond, const std::string& file, const int& line, const std::string &msg) +static inline void +AssertHandlerMsg(bool cond, const std::string& file, const int& line, const std::string& msg) { - if (!cond) - { - std::string err_msg = "Assertion failed in "+file+" line "+std::to_string(line)+": "+msg; - throw std::runtime_error(err_msg.c_str()); - } + if (!cond) { + std::string err_msg = "Assertion failed in " + file + " line " + std::to_string(line) + ": " + msg; + throw std::runtime_error(err_msg.c_str()); + } } } @@ -37,12 +36,9 @@ static inline void AssertHandlerMsg(bool cond, const std::string& file, const in #define ClothAssert_withmsg(cond, msg) AssertHandlerMsg(cond, std::string(__FILE__), __LINE__, msg) #define ClothAssert_nomsg(cond) AssertHandler(cond, std::string(__FILE__), __LINE__) -#define ClothAssert_stripargs(xx,cond,msg,FUNC, ...) FUNC +#define ClothAssert_stripargs(xx, cond, msg, FUNC, ...) FUNC -#define ClothAssert(...) \ - ClothAssert_stripargs(,##__VA_ARGS__,\ - ClothAssert_withmsg(__VA_ARGS__),\ - ClothAssert_nomsg(__VA_ARGS__),\ - ) +#define ClothAssert(...) \ + ClothAssert_stripargs(, ##__VA_ARGS__, ClothAssert_withmsg(__VA_ARGS__), ClothAssert_nomsg(__VA_ARGS__), ) #endif diff --git a/src/ClothMesh.hpp b/src/ClothMesh.hpp index 214ab9d..1a60b88 100644 --- a/src/ClothMesh.hpp +++ b/src/ClothMesh.hpp @@ -8,131 +8,116 @@ #include #include -namespace cloth -{ +namespace cloth { class ClothMesh { -public: - - Eigen::MatrixXd V; // rest vertices [nx3] - Eigen::MatrixXi F; // faces [fx3] - Eigen::MatrixXi E; // edges [ex3] - Eigen::VectorXd E0; // edge rest length - Eigen::MatrixXi B; // bend edges [bx3] - Eigen::VectorXd B0; // bend rest length - Eigen::VectorXd masses; // per-vertex masses - Eigen::VectorXi V_offset; // per-mesh index into V - Eigen::VectorXi F_offset; // per-mesh index into F - - // Adds a mesh to the collection of deformables and returns mesh number - inline int add_mesh(const Eigen::MatrixXd &inV, const Eigen::MatrixXi &inF) - { - int mesh_idx = -1; - ClothAssert(inV.rows() > 0 && inV.cols()==3); - ClothAssert(inF.rows() > 0 && inF.cols()==3); - - // First mesh? - if (V_offset.size()==0) - { - using namespace Eigen; - V_offset = VectorXi::Zero(2); - F_offset = VectorXi::Zero(2); - V_offset[1] = inV.rows(); - F_offset[1] = inF.rows(); - V = inV; - F = inF; - mesh_idx = 0; - } - else - { - mesh_idx = V_offset.size()-1; - V_offset.conservativeResize(mesh_idx+2); - F_offset.conservativeResize(mesh_idx+2); - V_offset[mesh_idx+1] = inV.rows(); - F_offset[mesh_idx+1] = inF.rows(); - V.conservativeResize(V.rows() + inV.rows(), 3); - V.bottomRows(inV.rows()) = inV; - F.conservativeResize(F.rows() + inF.rows(), 3); - F.bottomRows(inF.rows()) = inF; - } - - masses = Eigen::VectorXd::Constant(V.rows(), 0.1/V.rows()); - - compute_edges(); - return mesh_idx; - } - - // Computes edges and cross-edges from faces - inline void compute_edges() - { - using namespace Eigen; - std::map, std::pair> edges; // [edge, bend] - typedef std::map, std::pair>::iterator EdgeIter; - int n_bend = 0; // keep track of valid bend edges (non-border) - - int nf = F.rows(); - for (int i=0; i edge = std::make_pair(F(i,j), F(i,(j+1)%3)); - int adj = F(i,(j+2)%3); - if (edge.second < edge.first) - { - std::swap(edge.first, edge.second); - } - - EdgeIter it = edges.find(edge); - if (it == edges.end()) - { - edges[edge] = std::make_pair(adj, -1); - } - else - { - n_bend++; - std::pair &adj_pair = it->second; - adj_pair.second = adj; - if (adj_pair.second < adj_pair.first) - { - std::swap(adj_pair.first, adj_pair.second); - } - } - } - } - - // Loop over map and create eigen buffers - E = MatrixXi::Zero(edges.size(), 2); - E0 = VectorXd::Constant(edges.size(), -1); - B = MatrixXi::Zero(n_bend, 2); - B0 = VectorXd::Constant(n_bend, -1); - - int edge_idx = 0; - int bend_idx = 0; - for(EdgeIter it = edges.begin(); it != edges.end(); ++it, ++edge_idx) - { - const std::pair &e = it->first; - E(edge_idx,0) = e.first; - E(edge_idx,1) = e.second; - E0[edge_idx] = (V.row(e.first) - V.row(e.second)).norm(); - - const std::pair &b = it->second; - if (b.first >= 0 && b.second >= 0) - { - ClothAssert(bend_idx < B.rows()); - B(bend_idx,0) = b.first; - B(bend_idx,1) = b.second; - B0[bend_idx] = (V.row(b.first) - V.row(b.second)).norm(); - bend_idx++; - } - } - - // Check to make sure we set every edge - ClothAssert(E0.minCoeff() >= 0); - ClothAssert(B0.minCoeff() >= 0); - - } // end compute edges - + public: + Eigen::MatrixXd V; // rest vertices [nx3] + Eigen::MatrixXi F; // faces [fx3] + Eigen::MatrixXi E; // edges [ex3] + Eigen::VectorXd E0; // edge rest length + Eigen::MatrixXi B; // bend edges [bx3] + Eigen::VectorXd B0; // bend rest length + Eigen::VectorXd masses; // per-vertex masses + Eigen::VectorXi V_offset; // per-mesh index into V + Eigen::VectorXi F_offset; // per-mesh index into F + + // Adds a mesh to the collection of deformables and returns mesh number + inline int add_mesh(const Eigen::MatrixXd& inV, const Eigen::MatrixXi& inF) + { + int mesh_idx = -1; + ClothAssert(inV.rows() > 0 && inV.cols() == 3); + ClothAssert(inF.rows() > 0 && inF.cols() == 3); + + // First mesh? + if (V_offset.size() == 0) { + using namespace Eigen; + V_offset = VectorXi::Zero(2); + F_offset = VectorXi::Zero(2); + V_offset[1] = inV.rows(); + F_offset[1] = inF.rows(); + V = inV; + F = inF; + mesh_idx = 0; + } else { + mesh_idx = V_offset.size() - 1; + V_offset.conservativeResize(mesh_idx + 2); + F_offset.conservativeResize(mesh_idx + 2); + V_offset[mesh_idx + 1] = inV.rows(); + F_offset[mesh_idx + 1] = inF.rows(); + V.conservativeResize(V.rows() + inV.rows(), 3); + V.bottomRows(inV.rows()) = inV; + F.conservativeResize(F.rows() + inF.rows(), 3); + F.bottomRows(inF.rows()) = inF; + } + + masses = Eigen::VectorXd::Constant(V.rows(), 0.1 / V.rows()); + + compute_edges(); + return mesh_idx; + } + + // Computes edges and cross-edges from faces + inline void compute_edges() + { + using namespace Eigen; + std::map, std::pair> edges; // [edge, bend] + typedef std::map, std::pair>::iterator EdgeIter; + int n_bend = 0; // keep track of valid bend edges (non-border) + + int nf = F.rows(); + for (int i = 0; i < nf; ++i) { + for (int j = 0; j < 3; ++j) { + std::pair edge = std::make_pair(F(i, j), F(i, (j + 1) % 3)); + int adj = F(i, (j + 2) % 3); + if (edge.second < edge.first) { + std::swap(edge.first, edge.second); + } + + EdgeIter it = edges.find(edge); + if (it == edges.end()) { + edges[edge] = std::make_pair(adj, -1); + } else { + n_bend++; + std::pair& adj_pair = it->second; + adj_pair.second = adj; + if (adj_pair.second < adj_pair.first) { + std::swap(adj_pair.first, adj_pair.second); + } + } + } + } + + // Loop over map and create eigen buffers + E = MatrixXi::Zero(edges.size(), 2); + E0 = VectorXd::Constant(edges.size(), -1); + B = MatrixXi::Zero(n_bend, 2); + B0 = VectorXd::Constant(n_bend, -1); + + int edge_idx = 0; + int bend_idx = 0; + for (EdgeIter it = edges.begin(); it != edges.end(); ++it, ++edge_idx) { + const std::pair& e = it->first; + E(edge_idx, 0) = e.first; + E(edge_idx, 1) = e.second; + E0[edge_idx] = (V.row(e.first) - V.row(e.second)).norm(); + + const std::pair& b = it->second; + if (b.first >= 0 && b.second >= 0) { + ClothAssert(bend_idx < B.rows()); + B(bend_idx, 0) = b.first; + B(bend_idx, 1) = b.second; + B0[bend_idx] = (V.row(b.first) - V.row(b.second)).norm(); + bend_idx++; + } + } + + // Check to make sure we set every edge + ClothAssert(E0.minCoeff() >= 0); + ClothAssert(B0.minCoeff() >= 0); + + } // end compute edges }; } diff --git a/src/Objective.hpp b/src/Objective.hpp index 4e0d1ff..6ced5f2 100644 --- a/src/Objective.hpp +++ b/src/Objective.hpp @@ -7,100 +7,84 @@ #include "ClothAssert.hpp" #include "ClothMesh.hpp" -namespace cloth -{ +namespace cloth { class Objective { -public: - - // Computes and returns the Hookean energy of a spring with rest length r and stiffness k. - // If x.rows == grad.rows, the gradients (f, -f) are added to grad. - double spring_gradient( - const Eigen::MatrixXd &x, - int e0, - int e1, - double r, - double k, - Eigen::MatrixXd &grad) const - { - using namespace Eigen; - Vector3d x0 = x.row(e0); - Vector3d x1 = x.row(e1); - Vector3d edge = (x0-x1); - double l = edge.norm(); - if (grad.rows() == x.rows() && l > 1e-12) - { - edge /= l; - edge *= (l-r)*k; - ClothAssert(edge.allFinite()); - grad.row(e0) += edge; - grad.row(e1) -= edge; - } - double energy = 0.5 * k * (l-r) * (l-r); // (k/2)||l-l0||^2 - ClothAssert(std::isfinite(energy)); - return energy; - } - - // Spring energies that push vertices out of collision. - // We'll cheat a bit and hard code the sphere radius and center since we know it. - double collision_gradient( - const Eigen::MatrixXd &x, - int idx, - double k, - Eigen::MatrixXd &grad) const - { - using namespace Eigen; - Vector3d cent(0,0,0); - double rad = 0.51; - Vector3d xi = x.row(idx); - Vector3d dir = (xi-cent); - double l = dir.norm(); - if (l > rad) { return 0; } - if (grad.rows() == x.rows() && l > 1e-12) - { - dir /= l; - dir *= (l-rad)*k; - ClothAssert(dir.allFinite()); - grad.row(idx) += dir; - } - double energy = 0.5 * k * (l-rad) * (l-rad); // (k/2)||l-l0||^2 - ClothAssert(std::isfinite(energy)); - return energy; - } + public: + // Computes and returns the Hookean energy of a spring with rest length r and stiffness k. + // If x.rows == grad.rows, the gradients (f, -f) are added to grad. + double spring_gradient(const Eigen::MatrixXd& x, int e0, int e1, double r, double k, Eigen::MatrixXd& grad) const + { + using namespace Eigen; + Vector3d x0 = x.row(e0); + Vector3d x1 = x.row(e1); + Vector3d edge = (x0 - x1); + double l = edge.norm(); + if (grad.rows() == x.rows() && l > 1e-12) { + edge /= l; + edge *= (l - r) * k; + ClothAssert(edge.allFinite()); + grad.row(e0) += edge; + grad.row(e1) -= edge; + } + double energy = 0.5 * k * (l - r) * (l - r); // (k/2)||l-l0||^2 + ClothAssert(std::isfinite(energy)); + return energy; + } - // Momentum potential: ||x-xbar||^2_M / (2dt^2) - // Like springs above, if xrows == grad.rows, gradient is added. - // Unlike springs, the momentum is a global term. - inline double momentum_gradient( - const Eigen::MatrixXd &x, - const Eigen::MatrixXd &x_start, - const Eigen::MatrixXd &v, - const Eigen::VectorXd &masses, - double dt, - Eigen::MatrixXd &grad) const - { - using namespace Eigen; - // Some of this can be precomputed to speed up evaluations - MatrixXd x_bar = x_start + dt * v; - MatrixXd dx = x - x_bar; - MatrixXd M_dx = masses.asDiagonal() * dx; - double dot = 0; - for (int i=0; i<3; ++i) - { - dot += dx.col(i).dot(M_dx.col(i)); - } + // Spring energies that push vertices out of collision. + // We'll cheat a bit and hard code the sphere radius and center since we know it. + double collision_gradient(const Eigen::MatrixXd& x, int idx, double k, Eigen::MatrixXd& grad) const + { + using namespace Eigen; + Vector3d cent(0, 0, 0); + double rad = 0.51; + Vector3d xi = x.row(idx); + Vector3d dir = (xi - cent); + double l = dir.norm(); + if (l > rad) { + return 0; + } + if (grad.rows() == x.rows() && l > 1e-12) { + dir /= l; + dir *= (l - rad) * k; + ClothAssert(dir.allFinite()); + grad.row(idx) += dir; + } + double energy = 0.5 * k * (l - rad) * (l - rad); // (k/2)||l-l0||^2 + ClothAssert(std::isfinite(energy)); + return energy; + } - double energy = dot / (2.0*dt*dt); - if (grad.rows() == x.rows()) - { - M_dx *= (1.0 / (dt*dt)); - grad += M_dx; - } - ClothAssert(std::isfinite(energy)); - return energy; - } + // Momentum potential: ||x-xbar||^2_M / (2dt^2) + // Like springs above, if xrows == grad.rows, gradient is added. + // Unlike springs, the momentum is a global term. + inline double momentum_gradient(const Eigen::MatrixXd& x, + const Eigen::MatrixXd& x_start, + const Eigen::MatrixXd& v, + const Eigen::VectorXd& masses, + double dt, + Eigen::MatrixXd& grad) const + { + using namespace Eigen; + // Some of this can be precomputed to speed up evaluations + MatrixXd x_bar = x_start + dt * v; + MatrixXd dx = x - x_bar; + MatrixXd M_dx = masses.asDiagonal() * dx; + double dot = 0; + for (int i = 0; i < 3; ++i) { + dot += dx.col(i).dot(M_dx.col(i)); + } + double energy = dot / (2.0 * dt * dt); + if (grad.rows() == x.rows()) { + M_dx *= (1.0 / (dt * dt)); + grad += M_dx; + } + ClothAssert(std::isfinite(energy)); + return energy; + } }; } diff --git a/src/Solver.hpp b/src/Solver.hpp index 1b065a3..a959512 100644 --- a/src/Solver.hpp +++ b/src/Solver.hpp @@ -4,129 +4,119 @@ #ifndef SOLVER_HPP #define SOLVER_HPP 1 -#include "Objective.hpp" #include "ClothMesh.hpp" +#include "Objective.hpp" -namespace cloth -{ +namespace cloth { class Solver { -public: - - // State variables - Eigen::MatrixXd x; // positions [nx3] - Eigen::MatrixXd v; // velocities [nx3] - Eigen::MatrixXd x_start; // start of timestep [nx3] - double spring_k; - double bend_k; - double collision_k; - int max_solver_iter; - - Solver() : - spring_k(100), - bend_k(100), - collision_k(300), - max_solver_iter(400) - {} - - // Initalizes state variables, returns true if success - bool initialize(const ClothMesh &cloth) - { - if (cloth.V.rows() == 0 || cloth.V.cols() != 3) - { - return false; - } - - x = cloth.V; - v = Eigen::MatrixXd::Zero(x.rows(), 3); - x_start = x; - return true; - } - - // Computes the energy and gradient (if desired) of the objective - double gradient(const ClothMesh &cloth, const Objective &objective, - double dt, const Eigen::MatrixXd &xk, Eigen::MatrixXd &grad) const - { - double tot_energy = 0; - - // Momentum potential - tot_energy += objective.momentum_gradient( - xk, x_start, v, cloth.masses, dt, grad); - - // Stretch springs - int num_edges = cloth.E.rows(); - for (int i=0; i energy_k) - { - alpha *= 0.5; - x = xk - alpha * grad; - } - } - } - + public: + // State variables + Eigen::MatrixXd x; // positions [nx3] + Eigen::MatrixXd v; // velocities [nx3] + Eigen::MatrixXd x_start; // start of timestep [nx3] + double spring_k; + double bend_k; + double collision_k; + int max_solver_iter; + + Solver() + : spring_k(100) + , bend_k(100) + , collision_k(300) + , max_solver_iter(400) + { + } + + // Initalizes state variables, returns true if success + bool initialize(const ClothMesh& cloth) + { + if (cloth.V.rows() == 0 || cloth.V.cols() != 3) { + return false; + } + + x = cloth.V; + v = Eigen::MatrixXd::Zero(x.rows(), 3); + x_start = x; + return true; + } + + // Computes the energy and gradient (if desired) of the objective + double gradient(const ClothMesh& cloth, + const Objective& objective, + double dt, + const Eigen::MatrixXd& xk, + Eigen::MatrixXd& grad) const + { + double tot_energy = 0; + + // Momentum potential + tot_energy += objective.momentum_gradient(xk, x_start, v, cloth.masses, dt, grad); + + // Stretch springs + int num_edges = cloth.E.rows(); + for (int i = 0; i < num_edges; ++i) { + Eigen::RowVector2i e = cloth.E.row(i); + tot_energy += objective.spring_gradient(xk, e[0], e[1], cloth.E0[i], spring_k, grad); + } + + // Linear bend springs + int num_bend = cloth.B.rows(); + for (int i = 0; i < num_bend; ++i) { + Eigen::RowVector2i b = cloth.B.row(i); + tot_energy += objective.spring_gradient(xk, b[0], b[1], cloth.B0[i], bend_k, grad); + } + + // Collision springs + int num_verts = xk.rows(); + for (int i = 0; i < num_verts; ++i) { + tot_energy += objective.collision_gradient(xk, i, collision_k, grad); + } + + return tot_energy; + } + + double energy(const ClothMesh& cloth, const Objective& objective, double dt, const Eigen::MatrixXd& xk) const + { + Eigen::MatrixXd dummy; // grad computation ignored if grad.size != x.size + return gradient(cloth, objective, dt, xk, dummy); + } + + void solve(const ClothMesh& cloth, const Objective& objective, double dt) + { + using namespace Eigen; + ClothAssert(x.rows() == cloth.V.rows() && x.cols() == 3); + ClothAssert(v.rows() == x.rows() && v.cols() == x.cols()); + + x_start = x; // cache start state + v.col(1).array() += dt * -9.8; // gravity + x = x_start + dt * v; // initial guess + MatrixXd grad = MatrixXd::Zero(x.rows(), 3); + MatrixXd xk = MatrixXd::Zero(x.rows(), 3); + + for (int iter = 0; iter < max_solver_iter; ++iter) { + // Compute current energy and gradient + xk = x; // store state at current iteration + grad.setZero(); + double energy_k = gradient(cloth, objective, dt, x, grad); + + // Check for convergence + if (grad.norm() < 0.01) { + break; + } + + // Take a full step, i.e. alpha=1 + x = xk - grad; + + // Line search until objective decreased + double alpha = 1; + while (energy(cloth, objective, dt, x) > energy_k) { + alpha *= 0.5; + x = xk - alpha * grad; + } + } + } }; } diff --git a/test/main.cpp b/test/main.cpp index 2b04ccd..ac960ec 100644 --- a/test/main.cpp +++ b/test/main.cpp @@ -1,82 +1,77 @@ // Copyright Matt Overby 2021. // Distributed under the MIT License. +#include "Solver.hpp" +#include #include #include #include -#include -#include "Solver.hpp" using namespace Eigen; using namespace cloth; -int main(int argc, char *argv[]) +int +main(int argc, char* argv[]) { - (void)(argc); - (void)(argv); + (void)(argc); + (void)(argv); - std::string plane = CLOTH_ROOT_DIR "/data/plane.obj"; - std::string sphere = CLOTH_ROOT_DIR "/data/sphere.obj"; - MatrixXd V, sphereV; - MatrixXi F, sphereF; - if (!igl::readOBJ(plane, V, F) || !igl::readOBJ(sphere, sphereV, sphereF)) - { - return EXIT_FAILURE; - } + std::string plane = CLOTH_ROOT_DIR "/data/plane.obj"; + std::string sphere = CLOTH_ROOT_DIR "/data/sphere.obj"; + MatrixXd V, sphereV; + MatrixXi F, sphereF; + if (!igl::readOBJ(plane, V, F) || !igl::readOBJ(sphere, sphereV, sphereF)) { + return EXIT_FAILURE; + } - // Move cloth above the sphere - V.col(1).array() += 0.6; + // Move cloth above the sphere + V.col(1).array() += 0.6; - // Create cloth object - ClothMesh cloth; - cloth.add_mesh(V, F); + // Create cloth object + ClothMesh cloth; + cloth.add_mesh(V, F); - // Objective function - Objective objective; + // Objective function + Objective objective; - // Create solver - double dt = 1.0 / 24.0; - Solver solver; - if (!solver.initialize(cloth)) - { - return EXIT_FAILURE; - } + // Create solver + double dt = 1.0 / 24.0; + Solver solver; + if (!solver.initialize(cloth)) { + return EXIT_FAILURE; + } - std::cout << "Press A to simulate, R to reset" << std::endl; + std::cout << "Press A to simulate, R to reset" << std::endl; - // Create viewer - igl::opengl::glfw::Viewer viewer; - viewer.data().set_face_based(true); - viewer.data().set_mesh(V, F); - viewer.data().set_colors(RowVector3d(0.659, 0.847, 1)); - viewer.append_mesh(); - viewer.data(1).set_mesh(sphereV, sphereF); - viewer.data(1).set_colors(RowVector3d(0.7, 0.7, 0.7)); - viewer.core().is_animating = false; + // Create viewer + igl::opengl::glfw::Viewer viewer; + viewer.data().set_face_based(true); + viewer.data().set_mesh(V, F); + viewer.data().set_colors(RowVector3d(0.659, 0.847, 1)); + viewer.append_mesh(); + viewer.data(1).set_mesh(sphereV, sphereF); + viewer.data(1).set_colors(RowVector3d(0.7, 0.7, 0.7)); + viewer.core().is_animating = false; - viewer.callback_key_pressed = [&](igl::opengl::glfw::Viewer&, unsigned int key, int)->bool - { - char c = char(key); - if (c == 'r') - { - solver.initialize(cloth); - } - return false; - }; + viewer.callback_key_pressed = [&](igl::opengl::glfw::Viewer&, unsigned int key, int) -> bool { + char c = char(key); + if (c == 'r') { + solver.initialize(cloth); + } + return false; + }; - viewer.callback_pre_draw = [&](igl::opengl::glfw::Viewer&)->bool - { - if (viewer.core().is_animating) - { - solver.solve(cloth, objective, dt); // solve the time step - V = solver.x; // update vertex positions - viewer.data(0).set_mesh(V, F); - viewer.data(0).compute_normals(); // update normals after defo - } - return false; - }; + viewer.callback_pre_draw = [&](igl::opengl::glfw::Viewer&) -> bool { + if (viewer.core().is_animating) { + solver.solve(cloth, objective, dt); // solve the time step + V = solver.x; // update vertex positions + viewer.data(0).set_mesh(V, F); + viewer.data(0).compute_normals(); // update normals after defo + } + return false; + }; - viewer.launch(); + viewer.launch(); - return EXIT_SUCCESS; + return EXIT_SUCCESS; } diff --git a/test/test.cpp b/test/test.cpp index 5a6bd9a..d07197b 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -1,56 +1,54 @@ // Copyright Matt Overby 2021. // Distributed under the MIT License. +#include "Solver.hpp" +#include #include #include -#include -#include "Solver.hpp" using namespace Eigen; using namespace cloth; -int main(int argc, char *argv[]) +int +main(int argc, char* argv[]) { - (void)(argc); - (void)(argv); - - std::string plane = CLOTH_ROOT_DIR "/data/plane.obj"; - std::string sphere = CLOTH_ROOT_DIR "/data/sphere.obj"; - MatrixXd V, cV; - MatrixXi F, cF; - if (!igl::readOBJ(plane, V, F) || !igl::readOBJ(sphere, cV, cF)) - { - return EXIT_FAILURE; - } - - // Move cloth above the sphere - V.col(1).array() += 0.5; - - // Create cloth object - ClothMesh cloth; - cloth.add_mesh(V, F); - - // Objective function - Objective objective; - - // Create solver - double dt = 1.0 / 24.0; - Solver solver; - - // 20 iters won't converge but it will test - // all the functions are operational. - solver.max_solver_iter = 20; - - if (!solver.initialize(cloth)) - { - return EXIT_FAILURE; - } + (void)(argc); + (void)(argv); + + std::string plane = CLOTH_ROOT_DIR "/data/plane.obj"; + std::string sphere = CLOTH_ROOT_DIR "/data/sphere.obj"; + MatrixXd V, cV; + MatrixXi F, cF; + if (!igl::readOBJ(plane, V, F) || !igl::readOBJ(sphere, cV, cF)) { + return EXIT_FAILURE; + } + + // Move cloth above the sphere + V.col(1).array() += 0.5; + + // Create cloth object + ClothMesh cloth; + cloth.add_mesh(V, F); + + // Objective function + Objective objective; + + // Create solver + double dt = 1.0 / 24.0; + Solver solver; + + // 20 iters won't converge but it will test + // all the functions are operational. + solver.max_solver_iter = 20; + + if (!solver.initialize(cloth)) { + return EXIT_FAILURE; + } int timesteps = 10; - for (int step=0; step < timesteps; ++step) - { + for (int step = 0; step < timesteps; ++step) { solver.solve(cloth, objective, dt); // solve the time step } - return EXIT_SUCCESS; + return EXIT_SUCCESS; } From 02538b10382597ca75cb3b17c76b7f259a9010b6 Mon Sep 17 00:00:00 2001 From: mattoverby Date: Wed, 15 Oct 2025 12:45:31 -0500 Subject: [PATCH 2/2] added image --- .github/workflows/build_and_test.yml | 2 +- README.md | 3 +++ data/sphere.png | Bin 0 -> 148936 bytes 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 data/sphere.png diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 9514767..71ab9b8 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -12,7 +12,7 @@ jobs: steps: - name: clone - uses: actions/checkout@v4 # Action to check out your repository + uses: actions/checkout@v4 - name: dependencies run: | diff --git a/README.md b/README.md index 4226668..0cefcb6 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,8 @@ Below we describe a simple implicit solver for mass-spring systems using gradien This is meant solely as a tutorial to optimization-based time stepping, and not for practical applications. For that, you'll want to consider higher-order optimization algorithms or [local-global type solvers](https://github.com/alecjacobson/computer-graphics-mass-spring-systems). +

+ ## Implementation The objective we aim to minimize is the sum of internal elastic energy potentials plus a quadratic penalty of linear momentum: @@ -91,4 +93,5 @@ There are many ways to improve the solver illustrated above: - Collision against triangle meshes with a [signed distance field](https://github.com/InteractiveComputerGraphics/TriangleMeshDistance) - Better energy models with triangular elements ([Dynamic Deformables appendix D](https://doi.org/10.1145/3388769.3407490)) - Preconditioning or accelerated versions of gradient descent +- Non-conservative forces like friction - Optimizers with better convergence like [L-BFGS](https://en.wikipedia.org/wiki/Limited-memory_BFGS) or [projected Newton](https://doi.org/10.1145/1073368.1073394) diff --git a/data/sphere.png b/data/sphere.png new file mode 100644 index 0000000000000000000000000000000000000000..08b8b8eb027c3ebe46187aa70e4144a122089f8c GIT binary patch literal 148936 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 g>eY|9z=?pKXW)0SZ8NJoyA1T8S^|^13A- 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

K|O=;jY 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 literal 0 HcmV?d00001