Optimizing Parameters for Static Equilibrium of Discrete Elastic Rods with Active-Set Cholesky
Abstract
We propose a parameter optimization method for achieving static equilibrium of discrete elastic rods. Our method simultaneously optimizes material stiffness and rest shape parameters under box constraints to exactly enforce zero net force while avoiding stability issues and violations of physical laws. For efficiency, we split our constrained optimization problem into primal and dual subproblems via the augmented Lagrangian method, while handling the dual subproblem via simple vector updates. To efficiently solve the box-constrained primal subproblem, we propose a new active-set Cholesky preconditioner. Our method surpasses prior work in generality, robustness, and speed.
Index Terms:
Parameter optimization, hair simulation, inverse problem, active-set methodI Introduction
When modeling deformable objects or fabricating elastic materials, sagging under gravity or external loads is a well-known problem. This behavior arises because gravity is often implicitly considered during modeling but simulators typically neglect it during initialization [1, 2, 3, 4, 5]. While stiffening materials can reduce such sagging, it alters the dynamic response of the elastic material. Alternatively, modifying rest shape parameters can achieve static equilibrium although substantial rest shape changes can introduce stability problems or increase the likelihood of undesirable rest configurations.
In this paper, we focus on elastic objects with one-dimensional structures (e.g., hair, cables, strands, etc.). We employ Discrete Elastic Rods (DER) [6, 7] for strand simulation due to their generality, flexibility, and efficiency, as adopted in various applications with forward simulations [8, 9, 10, 11] and inverse problems [2, 12, 13, 14].
To address the sagging problem, we propose a new parameter optimization method that is guaranteed (at solver convergence) to achieve static equilibrium of DER-based strands. Our method simultaneously optimizes rest shape and material stiffness parameters while minimizing parameter changes and respecting their box constraints. We formulate our problem as a constrained minimization and decompose it into primal and dual subproblems via the augmented Lagrangian method (ALM) [15], addressing the primal subproblem with a Newton-type optimizer and the dual subproblem via vector updates. To efficiently and accurately handle the primal subproblem, we take the box constraints into account and solve the symmetric positive definite (SPD) inner systems using a variant of Conjugate Gradient (CG) with active sets, i.e., Modified Proportioning with Reduced Gradient Projections (MPRGP) [16]. Additionally, we propose a new preconditioner based on a Cholesky-type solver with active sets to accelerate the convergence of MPRGP. Figure 1 shows our method in action.
II Related Work
II-A Elastic Rod Simulation
To capture bending and twisting of one-dimensional elastic strand structures, Pai [17] introduced the Cosserat theory into graphics, which was later extended to dynamical systems [18]. The Cosserat theory has since been adopted within position-based dynamics [19] and further extended with quaternions [20, 4], volume constraints [21], and projective dynamics [22]. Instead of evolving edge rotations, Shi et al. [23] proposed using a volume-like torsion energy to capture twisting effects. Curvature-based approaches were also presented to capture elastic rod dynamics with a smaller number of degrees of freedom (DOFs) [24, 25]. From the various methods for simulating elastic strands, we selected DER [6, 7] because it can handle general bending and twisting cases with few DOFs.
II-B Sag-Free Simulation
To achieve sag-free simulations (or equivalently, static equilibrium), one common approach is to enforce zero net forces in the dynamical system. Hadap [26] proposed using inverse dynamics to solve nonlinear force equations for reduced multibody systems, although such methods may not necessarily be applicable to maximal coordinate systems. To solve nonlinear force equations, the Asymptotic Numerical Method (ANM) was employed, achieving faster convergence compared to Newton-type optimizers [27, 28], although it remains unclear how to incorporate box constraints, which help prevent stability problems and violations of physical laws. Curvature-based solvers have also been employed, since they need fewer DOFs to represent elastic rod dynamics. Derouet-Jourdan et al. [29] presented a method for achieving static equilibrium of curvature-based elastic strands [24] and extended their work with frictional contacts [30]. The curvature-based formulations have extensively been used for inverse problems to model, design, and fabricate elastic rods [31, 32, 33, 34].
To achieve static equilibrium in more general contexts, Twigg and Kačić-Alesić proposed minimizing the force norm by optimizing rest shape parameters in mass-spring systems consisting of one-dimensional elements [1]. Takahashi and Batty extended their approach to DER [5], in work closely related to ours. We clarify key differences in Sec II-C. Rest shape optimization has also been applied to two-dimensional sheet-like structures [35] and three-dimensional deformable volumes [36, 37]. To enforce zero-net-force constraints, adjoint methods have been extensively used [2, 38, 12]. While these methods are efficient, their implementation tends to be significantly more complicated because they involve Hessians of objective terms due to differentiation of the nonlinear force constraints. Given that DER Hessian treatments are the subject of ongoing study [12, 23], we formulate our problem without explicitly incorporating the Hessian into the parameter optimization. While finite differences could bypass this complexity [39], they are known to be significantly slower than optimization with analytical gradients.
As an alternative, Hsu et al. [3, 4] proposed a global-local initialization method that first computes global forces to achieve static equilibrium and then adjusts local elements to generate such forces. However, this approach would require excessive stiffening of materials and is applicable only to simulation approaches where local force elements can exclusively be defined. As such, the global-local initialization is not applicable to DER, as discussed by Takahashi and Batty [5].
II-C Differences from [5]
There are several key differences between our work and the closely related prior work by Takahashi and Batty [5]. Their approach optimizes only the rest shape parameters and may fail to achieve zero net forces. By contrast, our method simultaneously optimizes both the material stiffness and rest shape parameters while enforcing zero net forces as a hard constraint, ensuring static equilibrium at solver convergence. We also reduce the computational cost of parameter optimization in two ways. First, we order the optimization parameters in an interleaved manner to yield a banded system, leveraging the one-dimensional structure of strands, which eliminates the need for matrix reordering in Cholesky solvers. Second, by considering the overlapping force spaces with 4D curvatures [6, 9], we include only two rest curvature variables per vertex, reducing the DOF count in the optimization (see Sec. IV for details). Moreover, instead of relying on penalty-based approaches for box constraints [5], we utilize an active-set-based iterative solver, MPRGP [16], to enforce box constraints precisely. We also propose a new active-set Cholesky preconditioner to accelerate the convergence of MPRGP.
III Discrete Elastic Rods Preliminary
For completeness, we briefly summarize key details of the DER formulation [6, 7] before explaining our parameter optimization method (Sec. IV) and active-set Cholesky preconditioner (Sec. V-A). In our framework, we exclude contacts and thus process each strand independently, focusing below on a single strand.
Given a strand discretized into vertices with positions and edges with angles , the generalized positions can be defined by interleaving vertex and edge variables as . This arrangement leads to a banded Hessian due to locally defined DER objectives and time-parallel transport [7]. For simplicity, we assume a strand with a perfectly circular cross-section and uniform radius . The root end of the strand is minimally clamped, fixing , and , which yields active DOFs [5].
We define a minimization problem for a forward simulation step with a DER objective [5] as , where , and , , , and represent inertia, stretching, bending, and twisting objectives, respectively.
III-A Inertia
III-B Stretching
We define the stretching energy [7] as , where is given by
(2) |
with denoting a global constant scalar that scales stiffness parameters, as the stiffness parameter for stretching on edge , representing the length of edge , and as its rest length. The gradient can be computed as
(3) | ||||
(4) |
where denotes the unit tangent vector of edge .
III-C Bending
We define the bending objective [6, 9] as , where is given by
(5) |
and , denotes the bending stiffness at vertex , and and are the four-dimensional curvature and rest curvature, respectively [6, 9]. (While two-dimensional curvatures and rest curvatures can be employed with averaged material frames [7], this method has been shown to inadequately evaluate strand bending due to non-unit averaged material frames [41, 12].) The 11-dimensional gradient of (5) is given by [5]
(6) |
where denotes the Jacobian of with respect to . Here, , where denotes the th entry of .
III-D Twisting
IV Parameter Optimization
We simultaneously optimize parameters of the rest shape () and material stiffness () to achieve static equilibrium of an elastic strand. While one typically specifies stiffness coefficients directly as , , and , we instead optimize , , and . This approach addresses the significant scale differences between the stiffness coefficients (, , on the order of [7, 40]) and rest shape parameters ( up to 10), enabling stable convergence of numerical optimizers and mitigating numerical issues. To ensure similar value scales, we initialize the stiffness scaling constant as , and subsequently set , , and . While equivalent formulations could be derived through proper scaling of (9) and (10), our change of variables ensures consistent scales in the Jacobians (see Sec. IV-E), thus avoiding catastrophic cancellation and enhancing numerical stability.
Exploiting the one-dimensional structure and locally defined DER objectives of strands, we interleave the rest shape and stiffness parameters to ensure banded inner linear systems within Newton-type optimizers, similar to the approach used in forward simulations [7]. Additionally, we exclude on the fixed edge from the parameter optimization [5].
Furthermore, we optimize only two rest curvature DOFs per vertex and while excluding and , in contrast to previous work [5]. This choice stems from the association of and with the second material frame, while and relate to the first [6]. Their overlapping force spaces lead to similar final values for and without expanding the force spaces necessary for static equilibrium. Including and would increase the optimization cost due to the additional DOFs. In practice, we synchronize these variables by setting and whenever and are updated. This approach effectively reduces the dimensionality of the rest curvature from 4D to 2D; however, we still use 4D rest curvatures in (5) to ensure the same dimensionality for curvature and rest curvature .
Concretely, we define the optimization variable for the parameters as . Our central parameter optimization task is then formulated as a constrained minimization problem,
(9) |
where and denote lower and upper bounds for to ensure compliance with physical laws and limit significant parameter changes [5], and (defined in Sec. IV-B) is a nonlinear hard constraint to enforce zero net forces. We define as the initial value for before optimization, and acts as a regularizer to minimize the deviation of from with a diagonal weight matrix . Below, we assume as it does not impact the optimization results [5].
IV-A Augmented Lagrangian Method
To handle the nonlinear constraints in (9), we use ALM [15, 35] and define an augmented Lagrangian objective with a Lagrange multiplier and a penalty parameter as
(10) |
We then reformulate the parameter optimization (9) as
(11) |
which we optimize by iteratively solving primal and dual subproblems [15]. The primal subproblem, with fixed for iteration index (initialized with ), is defined as
(12) |
while the dual subproblem becomes a simple vector update:
(13) |
Thus, efficiently solving the primal subproblem (12) is crucial for fast parameter optimization.
IV-B Zero Net Force Constraints
Given the total force due to the DER objectives, represented as , it is natural to define to enforce zero net forces. However, in this case, the term in (10) becomes equivalent to a quadratic penalty on the total force, which is numerically ill-conditioned and fails to accurately represent force contributions within the system [5]. Therefore, we define as
(14) |
Consequently, in (10) can be rewritten as
(15) |
This objective is numerically equivalent to the formulation proposed in [5] when considering only the rest shape parameters (excluding stiffness parameters) and setting . Thus, their approach, which treats as a soft constraint, can be regarded as a subset of our method.
IV-C Box Constraints
We impose box constraints on the optimization parameters to prevent stability problems and to more accurately control the resulting strand dynamics. Specifically, we define (except for ), , , , , and . Unlike the penalty-based approach [5], which requires safety margins to mitigate the risk of violating physical laws (e.g., negative rest length and material parameters), we handle box constraints precisely using MPRGP [16]. Consequently, we set lower and upper bounds for , , , and as
(16) | ||||
(17) |
where denotes a small positive value (we set ). While we set the upper bounds of stiffness parameters to to ensure that static equilibrium is achievable [29, 3], finite values can be used if one prefers to avoid excessively stiff materials that may compromise static equilibrium.
We set the lower/upper bounds for and as
(18) | ||||
(19) |
where and denote the initial rest curvature and rest twist (before parameter optimization), respectively, and the allowed change for rest curvature and rest twist, respectively, and and vectors of all ones with the same dimensions as and , respectively. The stable range of and thus can vary depending on simulation settings (e.g., strand geometry and material stiffness) [5]; we use by default based on our experiments. Additionally, since changes in rest twist are typically much smaller than those in rest curvature, we set to reduce the number of tunable parameters.
IV-D Newton-based Box-Constrained Optimization
We solve the primal, box-constrained nonlinear minimization subproblem (12) using a Newton-type optimizer. One could approximate the box constraints with a penalty objective to ensure fully unconstrained inner linear systems [15, 5], but penalty methods often require tedious parameter tuning to achieve acceptable results. Even with carefully tuned parameters, these methods may lead to compromises that violate box constraints. Therefore, instead of relying on penalty methods, we incorporate box constraints directly when computing the Newton directions, which is equivalent to solving box-constrained quadratic programs (BCQPs) [42].
The Newton direction at iteration can be computed by solving the following BCQP:
(20) | ||||
(21) |
where and denote lower and upper bounds for , respectively. We omit in the argument of as it is independent of (23). Assuming the ideal step length of one [15], we have , giving and [42].
Given the augmented Lagrangian objective (15), we can compute its gradient as
(22) |
where , and we denote the Jacobian of with respect to by (details are provided in Sec. IV-E). Note that we treat (which is computed with the initial rest length [7, 40]) as constant, as is introduced to properly scale forces (14).
Because the force formulations are primarily linear with respect to the rest shape and stiffness parameters, the second order derivatives of the forces with respect to are mostly zero. An exception is the second order derivatives with respect to ; however, these components would be projected to zero to ensure SPD inner systems and valid Newton descent directions [15]. Thus, using the exact Hessian with SPD projections would have only negligible benefits while increasing the implementation complexity and computational cost due to the involvement of third order tensors [5]. Therefore, we ignore the second order derivatives with respect to and approximate the Hessian in a Gauss-Newton style (excluding from arguments):
(23) |
As this approximated Hessian is guaranteed to be SPD, we can solve the convex BCQP (20) using MPRGP [16], accelerated with our active-set Cholesky preconditioner (see Sec. V).
IV-E Forces and Jacobians
IV-E1 Inertia
Given the inertia force defined as with and for a static equilibrium case, we have and thus [5].
IV-E2 Stretching
We define the stretching force of edge on vertex as (4), and define analogously. Given the dependence of and on and , their Jacobians are
(24) | ||||
(25) |
IV-E3 Bending
We define the bending force according to (6) by . Given its dependence on , , and while respecting the constraints and , the Jacobians are given (with by
(26) | ||||
(27) | ||||
(28) |
IV-E4 Twisting
We define the twisting force as (8). Given its dependence on , , and , the Jacobians are given by
(29) | ||||
(30) | ||||
(31) |
IV-F Algorithm and Implementation
Algorithm 1 outlines our parameter optimization method. To accelerate convergence and reduce the risk of converging to undesirable local minima, we use warm starting. We set , and use and for the stiffness and rest shape parts of diagonals in , respectively, so that we prioritize achieving (in order) zero net forces, small changes in the stiffness parameters, and then rest shape parameters. We perform a single Newton iteration to solve our primal BCQP subproblem (12) as it serves as an inner problem within (11). To guarantee a decrease in the objective, we implement a backtracking line search [15]. The iterations are terminated when falls below a threshold , iteration count exceeds , or backtracking line search fails.
V Box-Constrained Quadratic Program Solver
Box constraints are a specific type of inequality constraint that can be handled efficiently through active-set methods, without relying on barriers or penalties [15]. Since our BCQPs arise as primal subproblems within the constrained nonlinear minimization (11), we opt to solve them with a prescribed level of accuracy suitable for inexact Newton-like methods. This approach enables us to conserve computational resources by avoiding unnecessary precision [15]. Instead of employing direct solvers with active sets (e.g., Lemke’s method or Dantzig’s simplex algorithm), we prefer iterative methods that permit early termination. Given the stiff yet SPD inner systems, we employ MPRGP [16] and propose an effective new preconditioner based on full Cholesky factorization and triangular solves with active sets, leveraging the advantages of the banded system structures. We refer to this scheme as active-set Cholesky (ASC) preconditioning. Notably, since the Cholesky-based approach precisely solves a linear system, Cholesky-preconditioned MPRGP (or CG) finds a solution in just one iteration when no box constraints are activated.
While Narain et al. [43] used modified incomplete Cholesky (MIC) preconditioning [44] for MPRGP, the derivations and rationale behind their approach are not explained, and it is not necessarily clear from their publicly available source code how to adapt it for variants of Cholesky decomposition (e.g., LDLT-type decomposition with diagonal blocks [45]). We therefore first discuss issues associated with the naive application of Cholesky factors and active sets, followed by an explanation of our methodology, including practical implementation details (Sec. V-A). We also clarify the differences between active-set IC preconditioning [43] and our scheme (Sec V-B).
V-A Active-Set Cholesky Preconditioning
Consider the minimization of a quadratic objective and corresponding linear system . The associated linear preconditioning system can be expressed as , where and are vectors corresponding to and , respectively. Adopting an active set that indicates whether is constrained or not (i.e., with an index , or if is constrained by its lower or upper bound, respectively, and otherwise) [46], we can define a diagonal selection matrix with . Given and that denote unconstrained and constrained parts of , respectively, we need to solve the preconditioning system for while enforcing [46]. The preconditioning system can be rewritten (incorporating the necessary constraints [47]) as , or given equivalently (by splitting it for and ) as and , where denotes a matrix consisting of ’s rows associated with unconstrained variables. One approach to solving these preconditioning systems is to reassemble or and factorize it using Cholesky decomposition, but this procedure is costly since active sets can change in each MPRGP iteration [46]. We would rather perform Cholesky decomposition only once and reuse its resulting factor.
V-A1 Problems with Naive Substitution of Cholesky Factors
We consider Cholesky factorization (where is a lower triangular matrix). While its naive substitution to gives , triangular solves are inapplicable to this form. Similarly, while can be transformed into , we cannot perform triangular solves with and since is generally not square. Another attempt is to solve (and thus ) while enforcing (e.g., by setting to zero during the triangular solves). With this form, the forward substitution can be written in the elementwise notation as , and back substitution as . However, this approach still has two problems. First, for constrained variables, rendering these operations infeasible. Second, the forward and back substitution are asymmetric, violating the symmetry requirement for preconditioning in symmetric Krylov iterative solvers, such as CG and MPRGP [48].
V-A2 Filtered Symmetric Gauss-Seidel
The equivalence between forward (back) substitution and forward (backward) Gauss-Seidel (GS) when applied to lower (upper) triangular matrices allows us to interpret triangular solves as symmetric GS (SGS). Instead of filtering the system matrix directly, we apply filtering during SGS to solve a system equivalent to the filtered preconditioning system. Given the elementwise form of forward GS, , we can filter this operation with while ensuring symmetry using
(32) |
Similarly, given for backward GS, we add filtering to obtain
(33) |
Our filtered SGS preserves the symmetry of operations required for preconditioning of CG/MPRGP [48], and can be rewritten in block form as and , respectively, where , and and denote the diagonal and strictly lower parts of , respectively. Note that while (32) and (33) are equivalent to SGS (except for filtering), our arises from Cholesky factorization, in contrast to the strictly lower triangular matrix from the traditional SGS (where , and is a diagonal part of ). Additionally, while it is typical to initialize and in GS-type preconditioning [48], our scheme does not require such initialization because (32) and (33) directly overwrite and .
V-A3 Sqrt-Free Cholesky and Optimization
We prefer sqrt-free Cholesky factorization , where is unit lower triangular (for clarity, we redefine here), and is diagonal. This approach can detect negative pivots (to clamp them for robustness) and avoid sqrt operations for efficiency [49]. The triangular solve proceeds as , , and . By merging the forward substitution and diagonal scaling (which preserves symmetry) and skipping unnecessary computations (e.g., multiplications with and and scanning rows in ), we have forward and backward operations for and , respectively, as
(34) | ||||
(35) |
V-B Active-Set Incomplete Cholesky Preconditioning
Our preconditioning strategy utilizing active sets can also be applied to IC preconditioning. Notably, when the system is banded and fully populated within the band, Cholesky and IC factorization are equivalent, making their preconditioning (even with active sets) identical.
In our parameter optimization, while the system is banded, it is not entirely filled because, e.g., optimization variables for rest curvatures and stretching stiffness are not coupled (i.e., the Hessian (23) lacks off-diagonal elements relating them). Cholesky decomposition is guaranteed to succeed for SPD systems (except for the case where pivot elements become negative due to numerical error [50]), whereas IC factorization may fail unless the system matrix possesses certain properties, such as being an M-matrix [51]. This necessitates reordering the system (i.e., pivoting) potentially breaking the banded structures, adding positive diagonals [51], or reverting to GS [44], ultimately reducing preconditioning effectiveness. Given that approximately 97% of the band is filled, it is acceptable to introduce a small number of fill-ins, considering the IC issues above. We therefore prefer full Cholesky factorization.
VI Results and Discussions
We implemented our method in C++20 with double-precision floating-point for scalar values and parallelized forward simulation and parameter optimization with OpenMP, processing each strand concurrently. We executed all the examples on a desktop machine with an Intel Core i7-9700 (8 cores) with 16GB RAM. For forward simulation, we use the exact Hessian with SPD projection for stretching energy and Gauss-Newton Hessian approximation for bending and twisting energies [23]. We perform a single Newton iteration per simulation step [49], executing four simulation steps per frame, except for Figures 1 and 10, which involved 12 simulations steps. We use 60 frames per second. For MPRGP, we use a termination absolute or relative residual of . Unless specified otherwise, we use . Material frames are rendered at the centers of the corresponding edges in red and yellow, with lengths matching the rest lengths of the edges.
VI-A Bending With 2D vs. 4D Curvatures
We begin by comparing bending formulations using 2D and 4D curvatures to justify our choice of 4D curvatures, given that our parameter optimization employs only two rest curvatures per vertex. The analysis is conducted on a horizontal strand discretized with 30 vertices.
VI-A1 2D Curvatures with Averaged Material Frames [7]
In Figure 2, we compare a bending model with 4D curvatures [6] against a bending model with 2D curvatures [7] which averages material frames to reduce curvature dimensions from 4D to 2D. We experiment with the horizontal strand without and with its material frames flipped, and use .
While both models without edge flips yield equivalent results, the 2D curvature model [7] fails to generate bending forces when material frames are flipped because the averaged material frames can be non-unit vectors (in this example, averaged frames are zero vectors) [9, 12, 41]. By contrast, the 4D curvature model [6] correctly evaluates the bending even with the flipped frames, producing results consistent with those obtained without edge flips.
VI-A2 2D Curvatures with Spherically Interpolated Material Frames [41]
Figure 3 contrasts the bending model with 4D curvatures [6] against another model [41] with 2D curvatures, which spherically interpolates (i.e., uses slerp) material frames to maintain unit-size frames while reducing the curvature dimensions. We use flipped frames and .
While the slerped material frames, which retain unit length, enable correct bending evaluation even with the flipped frames, differentiating the slerped frames to compute bending forces presents challenges. Consequently, their bending model [41] resorts to approximated gradients, which proved insufficiently accurate in our experiments, causing stability problems with the Gauss-Newton Hessian approximation, whereas the bending model of [6] is stable under the same settings.
VI-B Banded System with Reduced Rest Curvatures
To assess the performance improvement achieved through banded systems and reduced rest curvatures, we experiment with a coil-like strand discretized with 2k vertices, as shown in Figure 4 (we include naive initialization for reference). For a fair comparison with previous work [5], we optimize only the rest shape parameters and exclude box constraints to eliminate the influence of active sets. We compare the following:
-
1.
Unbanded system with 4D rest curvatures [5];
-
2.
Banded system with 4D rest curvatures;
-
3.
Banded system with 2D rest curvatures.
Using the approximate minimum degree (AMD) reordering, the sequential arrangement of the rest shape parameters (rest length, rest curvatures, and rest twist) [5] aligns with the banded system, yielding identical results. The AMD reordering took 2.0 ms while the system solve took 5.0 ms. As the banded system (with 4D rest curvatures) eliminates the need for the reordering, we achieve around performance gain.
Due to the redundant force spaces with rest curvatures, the virtually reduced 2D rest curvatures produce results comparable to those obtained with 4D rest curvatures. The computation times were 2.1ms and 5.0ms with 2D and 4D rest curvatures, respectively. As the DOF count is and , with non-zero counts per row of and on average, the total number of non-zeros is approximately and for 2D and 4D rest curvatures, respectively. Thus, the performance ratio is in good agreement with the ratio of the total number of non-zeros .
VI-C Penalty vs. Active-Set Methods
To demonstrate the efficacy of our active-set-based BCQP solver, we compare it to a penalty-based one, using a horizontal strand discretized with 30 vertices, as shown in Figure 5 (naive initialization included for reference). In this comparison, we optimize rest shape parameters only and use . For the penalty method, we use a Cholesky solver [5]. As we perform only one Newton iteration to solve each BCQP, if we apply ALM (with Lagrange multipliers initialized to zero) to the BCQP, it becomes equivalent to the penalty method [15].
With the penalty method, it is difficult to accurately control rest curvature changes, allowing rest curvatures to violate the box constraints. Consequently, significant rest shape changes caused the tail end of the strand to flip to the left side after the root was perturbed. In contrast, our active-set method precisely constrains curvature changes retaining the tail end of the strand on the right side. While we may need to compromise static equilibrium, our method better preserves the original shape compared to naive initialization.
The penalty method uses 4 Newton iterations with a total system-solving cost of 0.31 ms (0.078 ms per solve), whereas our method uses 2 Newton iterations with 8.0 MPRGP iterations on average per solve, resulting in a total cost of 0.33 ms (0.17 ms per solve). Although MPRGP needs multiple iterations, our method performs Cholesky factorization (which is costlier than triangular solves) only once per Newton iteration, leading to a moderate cost per MPRGP solve. Furthermore, the strict enforcement of box constraints enhances the convergence of Newton iterations. Consequently, the total cost of our method is comparable to that of the penalty-based approach.
VI-D Simultaneous Optimization of Rest Shape and Material Stiffness Parameters Under Hard Zero Net Force Constraints
To demonstrate the necessity of optimizing both rest shape and material stiffness parameters and enforcing as a hard constraint, we compare the following schemes:
-
1.
Rest shape only: rest shape only optimization [5];
-
2.
Rest shape and material stiffness with penalty: simultaneous optimization of rest shape and material stiffness parameters with enforcement of via quadratic penalty [15] (which is equivalent to ours with );
-
3.
Rest shape and material stiffness with ALM (ours): rest shape and material stiffness parameter optimization with enforcement of as a hard constraint via ALM.
VI-D1 Vertical Strand
We test with a vertical strand discretized with 30 vertices (Figure 6) using and .
Optimizing only rest shape parameters fails to achieve static equilibrium. Additionally optimizing stiffness parameters reduces the necessary rest shape changes, but enforcing as a soft constraint via a quadratic penalty also fails. This failure occurs because the penalty from material stiffness changes is large and comparable to the penalty from violation of , leading to inadequate adjustment of the stiffness parameters. By contrast, our method guarantees perfect static equilibrium, as ALM enforces as a hard constraint. This allows for adequate adjustments to stiffness parameters, ensuring rest shape parameters remain within their box constraints while achieving zero net forces.
The rest shape only optimization uses 8 Newton iterations, 5.6 MPRGP iterations on average, and takes 8.1 ms for the entire optimization process, while the rest shape and material stiffness optimization with penalty uses 7 Newton iterations, 73.9 MPRGP iterations, and takes 19.5 ms for the optimization. The increased cost is primarily due to the larger system size ( for rest shape and material stiffness vs. for rest shape only) with more non-zeros and increased MPRGP iterations (due to the increased complexity of the systems). Our method uses 25 Newton iterations, 66.0 MPRGP iterations, and takes 58.3ms for the optimization. The increased cost compared to the approach with penalty is due to the updates of Lagrange multipliers, which modifies the optimization problem. Consequently, our method requires around more Newton iterations and computational time. Although our method is approximately more costly than the rest shape only optimization [5], these methods are performed only once per scene as a preprocess (i.e., no additional cost during forward simulation). Thus, we believe that our approach, which guarantees static equilibrium with minimal stiffness changes while eliminating tedious manual stiffness tuning, is a practical and attractive alternative.
VI-D2 Horizontal Strand
We experiment with a horizontal strand discretized with 30 vertices (Figure 7) using . Similar to the vertical strand case, optimizing only the rest shape parameters fails to achieve static equilibrium (despite the relatively stiff strand with ) due to tightly bounded rest curvature changes. While simultaneous optimization of the rest shape and material stiffness aims to achieve zero net forces, it still fails when enforcing as a soft constraint. By contrast, our method successfully attains static equilibrium. The computational costs follow a trend similar to that observed with the vertical strand. The optimization takes 7.5 ms for the rest shape only, 17.9 ms for the rest shape and material stiffness with penalty, and 47.7 ms for our method.
VI-E Box-Constrained Quadratic Program Solver Comparisons
We compare our method with various schemes to solve the BCQP subproblem (20) using the scene shown in Figure 5.
VI-E1 MPRGP Preconditioners
We first examine our method against various preconditioning techniques for MPRGP. Specifically, we compare the following schemes:
-
1.
MPRGP: MPRGP without preconditioning [16];
-
2.
D-MPRGP: MPRGP with diagonal preconditioning;
-
3.
WJ-MPRGP: MPRGP with two weighted Jacobi iterations with a weighting factor ;
-
4.
SSOR-MPRGP: MPRGP with symmetric successive-over-relaxation (SSOR) preconditioning (serial forward and backward passes) with a weighting factor ;
-
5.
SAAMG-MPRGP: MPRGP with smoothed aggregation algebraic multigrid (SAAMG) preconditioning [46];
-
6.
IC-MPRGP: MPRGP with IC preconditioning [43];
-
7.
MIC-MPRGP: MPRGP with MIC preconditioning [43];
-
8.
ASC-MPRGP (ours): MPRGP with our ASC preconditioning.
Figure 8 shows log-scale profiles of convergence over time. Due to the stiffness of our system, MPRGP without preconditioning failed to converge within 10,000 iterations and was terminated. While WJ-MPRGP and SSOR-MPRGP effectively reduce the number of MPRGP iterations required, their preconditioning costs are non-negligible, and D-MPRGP performs slightly faster. Although SAAMG-MPRGP can be effective for systems with an M-matrix [46], it underperforms on our non-M-matrix system. By contrast, Cholesky-based preconditioners are particularly effective because they exploit the banded structure of the system with minimal overhead for a single factorization per MPRGP solve. IC-MPRGP requires significantly fewer iterations than D-MPRGP, and its moderate preconditioning cost results in much faster overall performance. Given the nearly fully filled band, MIC-MPRGP performs almost identically to IC-MPRGP. Our ASC-MPRGP, which employs full Cholesky factorization, benefits from the complete Cholesky factors without the limitations of (M)IC-MPRGP, which uses incomplete Cholesky with a GS fallback to avoid breakdown [44]. Consequently, while IC-MPRGP converges in 234 iterations taking 5.4ms, our ASC-MPRGP converges in just 19 iterations taking 0.3 ms, achieving around faster performance.
Scheme \ | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 |
---|---|---|---|---|---|
IPM | 0.517 (5) | 0.434 (4) | 0.361 (3) | 0.388 (3) | 0.375 (3) |
ASC-MPRGP | 4.518 (122) | 0.783 (47) | 0.305 (19) | 0.184 (11) | 0.039 (2) |
VI-E2 BCQP Solvers
Next, we compare our method with other BCQP solvers. We consider the following schemes:
-
1.
PGS: projected GS;
-
2.
IPM: interior point method [52] with a Cholesky-based direct solver for fully unconstrained inner linear systems;
-
3.
ASC-MPRGP (ours).
In this comparison, we exclude the penalty-based approach as it cannot accurately enforce the box constraints (comparisons between the penalty-based and active-set approaches are given in Sec. VI-C). Figure 9 shows log-scale profiles of convergence over time, and Table I summarizes the performance numbers (excluding PGS).
Although PGS should be able to strictly enforce the box constraints, it was slow to converge and terminated after 10,000 iterations. While IPM [52] can converge with a small number of iterations for all values of , each iteration is costly because IPM updates the system diagonals, necessitating a full Cholesky factorization for each updated system. By contrast, our ASC-MPRGP requires no system updates and enables the reuse of the Cholesky factor by combining it with active sets which may change in each MPRGP iteration. Thus, per-iteration cost is relatively small, enabling ASC-MPRGP to outperform IPM [52] with approximately (our default is ). While our method can be slower than IPM when is small (because MPRGP needs more iterations to update active sets and does not fully leverage our preconditioner), we believe that such cases are infrequent in practical applications.
VI-F Complex Strand Geometry
To evaluate the efficacy of our method with complex strand geometry, we experiment with hair data publicly released by Hu et al. [53]. Figure 10 compares our method with naive initialization and rest shape only optimization, using an asset with 915 strands (each is discretized with 100 vertices). In this comparison, we use an extra soft material with to clearly demonstrate differences, and .
With naive initialization, hair strands sag significantly due to gravity at the start of the simulation, eventually settling into sagged states after some root vertex movement. With rest shape only optimization, some strands still suffer from sagging since the allowed rest shape changes are limited by the box constraints. Conversely, other strands experience unnatural lifting because this approach attempts to achieve static equilibrium solely through adjustments to the rest shape parameters, yielding significant rest shape changes (even with the box constraints) and thus continuously unstable strand configurations that do not settle. Hence the rest shape only optimization fails both to achieve static equilibrium (with insufficient rest shape changes) and to ensure stable configurations (due to the excessive rest shape changes), indicating that the range parameter for box constraints is simultaneously too low for some strands and too high for others; therefore, merely adjusting cannot always fix these failures. By contrast, our method enables strands to achieve the perfect static equilibrium even with complex hair geometry through the smaller rest shape changes facilitated by simultaneous optimization of material stiffness. It achieves plausible motions and allows the strands to gradually settle and return towards the original hair styles, while naive initialization and rest shape only optimization do not.
Rest shape only optimization used 2.0 Newton iterations (with frequent failures in backtracking line search, leading to early termination) and 2.5 MPRGP iterations per solve on average (occasionally terminating at 100 iterations due to convergence issues), taking 0.6 s for the entire optimization process, whereas our method used 148.8 Newton iterations and 1.2 MPRGP iterations, taking 84.4 s. Although our method incurs higher costs than the rest shape only optimization (which fails to converge, thus suffering from sagging, unnatural lifting, and stability problems), we believe that the achieved static equilibrium justifies this extra one time initialization cost for forward simulations (which take 2.0 s per frame).
VII Conclusions and Future Work
We have proposed our parameter optimization framework that ensures static equilibrium of DER-based strands. Additionally, we presented an active-set Cholesky preconditioner to accelerate the convergence of MPRGP. We demonstrated the efficacy of our method in a wide range of examples. Below, we discuss tradeoffs inherent to our method and promising research directions for future work.
VII-A Undesirable Local Minima
While our method ensures that strands achieve static equilibrium, certain perturbations may cause them to converge to other local minima, which may not align with user expectations. Although our solver enforces rest shape changes within specified box constraints to mitigate the risk of encountering such local minima, determining optimal values for these constraints can be challenging. The desirability of the resulting behaviors is often subjective, and the optimal values may vary depending on strand geometry and material stiffness. To accommodate diverse scenarios, it could be advantageous to assign different values of for each strand.
In contrast to optimization methods focused solely on rest shape [5], our approach allows for modifications to material stiffness, which can be perceived as undesirable. While in (9) assists in balancing changes between rest shape and material stiffness, a potentially more effective strategy may involve conducting separate and iterative parameter optimizations for rest shape and material stiffness, similar to block coordinate descent. Furthermore, to ensure smoothly varying material stiffness, it may be beneficial to employ a Laplacian-based regularizer or, alternatively, to optimize a limited set of representative stiffness parameters, which has the added advantage of reducing memory usage and optimization costs.
VII-B Active-Set Cholesky Preconditioner
Our ASC preconditioner is applicable not only to banded systems but to other SPD ones too, and thus it is worth evaluating our preconditioner with stiff BCQPs. In particular, it should be able to support tree structures forming systems with block matrices (instead of banded systems) [50] without introducing any fill-in at off-diagonal blocks between the block matrices. It also seems promising to extend our preconditioner to (incomplete) LDLT factorization [54, 45] and to explore symmetric indefinite solvers that can handle box constraints. With small , many box constraints can be activated, necessitating additional MPRGP iterations to manage active sets while failing to fully leverage our ASC preconditioning. In such cases, exploring active-set-free approaches, such as interior point methods [15, 52], may be promising. Although parallel execution over strands rendered extensive parallelization unnecessary in our framework, it would be valuable to optimize our preconditioner for parallel execution to fully utilize many-core architectures, particularly for strands discretized with a large number of vertices.
VII-C More General Inverse Problems
Supporting anisotropic and inhomogeneous strands (e.g., with spatially varying density and radius), two-end clamping, and frictional contacts would be useful [30, 4]. To predict strand dynamics over time, developing differentiable physics approaches, such as those employing the adjoint method [2, 12], appears promising [55]. Extending our method to applications involving 2D/3D structured materials would also be of interest. While our method is guaranteed to reach static equilibrium at solver convergence, convergence conditions may depend on strand geometry and properties; thus, tuning solver parameters may be necessary in challenging scenarios. Additionally, solving the optimization problem without primal-dual decoupling could enhance the likelihood of convergence.
References
- [1] C. D. Twigg and Z. Kačić-Alesić, “Optimization for sag-free simulations,” in Proceedings of the 2011 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, ser. SCA ’11, 2011, pp. 225–236.
- [2] J. Pérez, B. Thomaszewski, S. Coros, B. Bickel, J. A. Canabal, R. Sumner, and M. A. Otaduy, “Design and fabrication of flexible rod meshes,” ACM Trans. Graph., vol. 34, no. 4, jul 2015.
- [3] J. Hsu, N. Truong, C. Yuksel, and K. Wu, “A general two-stage initialization for sag-free deformable simulations,” ACM Trans. Graph., vol. 41, no. 4, jul 2022.
- [4] J. Hsu, T. Wang, Z. Pan, X. Gao, C. Yuksel, and K. Wu, “Sag-free initialization for strand-based hybrid hair simulation,” ACM Trans. Graph., vol. 42, no. 4, jul 2023.
- [5] T. Takahashi and C. Batty, “Rest shape optimization for sag-free discrete elastic rods,” arXiv, 2025.
- [6] M. Bergou, M. Wardetzky, S. Robinson, B. Audoly, and E. Grinspun, “Discrete elastic rods,” in ACM SIGGRAPH 2008 Papers, ser. SIGGRAPH ’08. New York, NY, USA: Association for Computing Machinery, 2008.
- [7] M. Bergou, B. Audoly, E. Vouga, M. Wardetzky, and E. Grinspun, “Discrete viscous threads,” ACM Transactions on Graphics, vol. 29, no. 4, pp. 116:1–116:10, 2010.
- [8] E. Schweickart, D. L. James, and S. Marschner, “Animating elastic rods with sound,” ACM Trans. Graph., vol. 36, no. 4, jul 2017.
- [9] Y. R. Fei, C. Batty, E. Grinspun, and C. Zheng, “A multi-scale model for coupling strands with shear-dependent liquid,” ACM Trans. Graph., vol. 38, no. 6, Nov. 2019.
- [10] S. Lesser, A. Stomakhin, G. Daviet, J. Wretborn, J. Edholm, N.-H. Lee, E. Schweickart, X. Zhai, S. Flynn, and A. Moffat, “Loki: A unified multiphysics simulation framework for production,” ACM Trans. Graph., vol. 41, no. 4, jul 2022.
- [11] G. Daviet, “Interactive hair simulation on the gpu using admm,” in ACM SIGGRAPH 2023 Conference Proceedings, ser. SIGGRAPH ’23. New York, NY, USA: Association for Computing Machinery, 2023.
- [12] J. Panetta, M. Konaković-Luković, F. Isvoranu, E. Bouleau, and M. Pauly, “X-shells: a new class of deployable beam structures,” ACM Trans. Graph., vol. 38, no. 4, jul 2019.
- [13] Y. Ren, U. Kusupati, J. Panetta, F. Isvoranu, D. Pellis, T. Chen, and M. Pauly, “Umbrella meshes: elastic mechanisms for freeform shape deployment,” ACM Trans. Graph., vol. 41, no. 4, jul 2022.
- [14] L.-J. Y. Dandy, M. Vidulis, Y. Ren, and M. Pauly, “Tencers: Tension-constrained elastic rods,” p. 1–13, dec 2024.
- [15] J. Nocedal and S. J. Wright, Numerical Optimization, 2nd ed. New York, NY, USA: Springer, 2006.
- [16] Z. Dostal and J. Schoberl, “Minimizing quadratic functions subject to bound constraints with the rate of convergence and finite termination,” Computational Optimization and Applications, vol. 30, no. 1, pp. 23–43, 2005.
- [17] D. K. Pai, “STRANDS: Interactive Simulation of Thin Solids using Cosserat Models,” Computer Graphics Forum, 2002.
- [18] J. Spillmann and M. Teschner, “Corde: Cosserat rod elements for the dynamic simulation of one-dimensional elastic objects,” in Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, ser. SCA ’07. Eurographics Association, 2007, p. 63–72.
- [19] N. Umetani, R. Schmidt, and J. Stam, “Position-based elastic rods,” in Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, ser. SCA ’14, 2014, p. 21–30.
- [20] T. Kugelstadt and E. Schömer, “Position and orientation based cosserat rods,” in Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, ser. SCA ’16, 2016, p. 169–178.
- [21] B. Angles, D. Rebain, M. Macklin, B. Wyvill, L. Barthe, J. Lewis, J. Von Der Pahlen, S. Izadi, J. Valentin, S. Bouaziz, and A. Tagliasacchi, “Viper: Volume invariant position-based elastic rods,” Proc. ACM Comput. Graph. Interact. Tech., vol. 2, no. 2, jul 2019.
- [22] C. Soler, T. Martin, and O. Sorkine-Hornung, “Cosserat rods with projective dynamics,” Computer Graphics Forum, vol. 37, no. 8, pp. 137–147, 2018.
- [23] A. Shi, H. Wu, J. Parr, A. M. Darke, and T. Kim, “Lifted curls: A model for tightly coiled hair simulation,” Proc. ACM Comput. Graph. Interact. Tech., vol. 6, no. 3, aug 2023.
- [24] F. Bertails, B. Audoly, M.-P. Cani, B. Querleux, F. Leroy, and J.-L. Lévêque, “Super-helices for predicting the dynamics of natural hair,” ACM Trans. Graph., vol. 25, no. 3, p. 1180–1187, jul 2006.
- [25] R. Casati and F. Bertails-Descoubes, “Super space clothoids,” ACM Trans. Graph., vol. 32, no. 4, jul 2013.
- [26] S. Hadap, “Oriented strands: dynamics of stiff multi-body system,” in Proceedings of the 2006 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, ser. SCA ’06, 2006, p. 91–100.
- [27] X. Chen, C. Zheng, W. Xu, and K. Zhou, “An asymptotic numerical method for inverse elastic shape design,” ACM Trans. Graph., vol. 33, no. 4, jul 2014.
- [28] K. Jia, “Sanm: a symbolic asymptotic numerical solver with applications in mesh deformation,” ACM Trans. Graph., vol. 40, no. 4, jul 2021.
- [29] A. Derouet-Jourdan, F. Bertails-Descoubes, and J. Thollot, “Stable inverse dynamic curves,” ACM Trans. Graph., vol. 29, no. 6, dec 2010.
- [30] A. Derouet-Jourdan, F. Bertails-Descoubes, G. Daviet, and J. Thollot, “Inverse dynamic hair modeling with frictional contact,” ACM Trans. Graph., vol. 32, no. 6, pp. 159:1–159:10, Nov. 2013.
- [31] F. Bertails-Descoubes, A. Derouet-Jourdan, V. Romero, and A. Lazarus, “Inverse design of an isotropic suspended Kirchhoff rod: theoretical and numerical results on the uniqueness of the natural shape,” Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, vol. 474, no. 2212, pp. 1–26, Apr. 2018.
- [32] R. Charrondière, F. Bertails-Descoubes, S. Neukirch, and V. Romero, “Numerical modeling of inextensible elastic ribbons with curvature-based elements,” Computer Methods in Applied Mechanics and Engineering, vol. 364, p. 112922, 2020.
- [33] C. Hafner and B. Bickel, “The design space of plane elastic curves,” ACM Trans. Graph., vol. 40, no. 4, jul 2021.
- [34] ——, “The design space of kirchhoff rods,” ACM Trans. Graph., vol. 42, no. 5, sep 2023.
- [35] M. Skouras, B. Thomaszewski, B. Bickel, and M. Gross, “Computational design of rubber balloons,” Comput. Graph. Forum, vol. 31, no. 2pt4, p. 835–844, may 2012.
- [36] B. Wang, L. Wu, K. Yin, U. Ascher, L. Liu, and H. Huang, “Deformation capture and modeling of soft objects,” ACM Trans. Graph., vol. 34, no. 4, pp. 94:1–94:12, Jul. 2015.
- [37] R. Mukherjee, L. Wu, and H. Wang, “Interactive two-way shape design of elastic bodies,” Proc. ACM Comput. Graph. Interact. Tech., vol. 1, no. 1, jul 2018.
- [38] M. Ly, R. Casati, F. Bertails-Descoubes, M. Skouras, and L. Boissieux, “Inverse elastic shell design with contact and friction,” ACM Trans. Graph., vol. 37, no. 6, dec 2018.
- [39] A. Choi, R. Jing, A. P. Sabelhaus, and M. K. Jawed, “Dismech: A discrete differential geometry-based physical simulator for soft robots and structures,” IEEE Robotics and Automation Letters, vol. 9, no. 4, pp. 3483–3490, 2024.
- [40] M. Jawed, A. Novelia, and O. O’Reilly, A Primer on the Kinematics of Discrete Elastic Rods, ser. SpringerBriefs in Applied Sciences and Technology. Springer International Publishing, 2018.
- [41] G. Gornowicz and S. Borac, “Efficient and stable approach to elasticity and collisions for hair animation,” in Proceedings of the 2015 Symposium on Digital Production, ser. DigiPro ’15. New York, NY, USA: Association for Computing Machinery, 2015, p. 41–49.
- [42] T. Takahashi and C. Batty, “Frictionalmonolith: A monolithic optimization-based approach for granular flow with contact-aware rigid-body coupling,” ACM Transactions on Graphics (TOG), vol. 40, no. 6, pp. 1–16, 2021.
- [43] R. Narain, A. Golas, and M. C. Lin, “Free-flowing granular materials with two-way solid coupling,” ACM Transactions on Graphics, vol. 29, no. 6, pp. 173:1–173:10, 2010.
- [44] R. Bridson and M. Müller, “Fluid simulation: Siggraph 2007 course,” in ACM SIGGRAPH 2007 Courses, ser. SIGGRAPH ’07. New York, NY, USA: Association for Computing Machinery, 2007, p. 1–81.
- [45] C. Greif, S. He, and P. Liu, “Sym-ildl: Incomplete ldlt factorization of symmetric indefinite and skew-symmetric matrices,” ACM Trans. Math. Softw., vol. 44, no. 1, Apr. 2017.
- [46] T. Takahashi and C. Batty, “A multilevel active-set preconditioner for box-constrained pressure poisson solvers,” Proc. ACM Comput. Graph. Interact. Tech., vol. 6, no. 3, aug 2023.
- [47] R. Tamstorf, T. Jones, and S. F. McCormick, “Smoothed aggregation multigrid for cloth simulation,” ACM Trans. Graph., vol. 34, no. 6, pp. 245:1–245:13, 2015.
- [48] Y. Saad, “Iterative Methods for Sparse Linear Systems,” Notes, vol. 3, no. 2nd Edition, pp. xviii+528, 2003.
- [49] L. Huang, F. Yang, C. Wei, Y. J. E. Chen, C. Yuan, and M. Gao, “Towards realtime: A hybrid physics-based method for hair animation on gpu,” Proc. ACM Comput. Graph. Interact. Tech., vol. 6, no. 3, aug 2023.
- [50] P. Herholz and M. Alexa, “Factor once: Reusing cholesky factorizations on sub-meshes,” ACM Trans. Graph., vol. 37, no. 6, dec 2018.
- [51] J. Chen, F. Schäfer, J. Huang, and M. Desbrun, “Multiscale cholesky preconditioning for ill-conditioned problems,” ACM Trans. Graph., vol. 40, no. 4, jul 2021.
- [52] T. Takahashi and C. Batty, “A primal-dual box-constrained qp pressure poisson solver with topology-aware geometry-inspired aggregation amg,” IEEE Transactions on Visualization and Computer Graphics, pp. 1–12, 2024.
- [53] L. Hu, C. Ma, L. Luo, and H. Li, “Single-view hair modeling using a hairstyle database,” ACM Trans. Graph., vol. 34, no. 4, jul 2015.
- [54] T. A. Davis, S. Rajamanickam, and W. M. Sid-Lakhdar, “A survey of direct methods for sparse linear systems,” Acta Numerica, vol. 25, p. 383–566, 2016.
- [55] Y. Chen, Y. Zhang, Z. Brei, T. Zhang, Y. Chen, J. Wu, and R. Vasudevan, “Differentiable discrete elastic rods for real-time modeling of deformable linear objects,” 2024.