Implicit Midpoint Integration and Adaptive Damping for Efficient Cloth Simulation Pascal Volino MIRALab, Univ. of Geneva [email protected] Abstract Implicit integration methods have contributed to large performance enhancements in the field of simulation of particle-system mechanical models. While Backward Euler and BDF-2 methods are now widely used for cloth simulation applications, the Implicit Midpoint method is often overlooked, because of its poor stability properties. It is however as simple to implement as Backward Euler, and offers significantly better accuracy and even shorter computation times. Starting with a study of the stability properties of these integration methods, we will find out how moderate viscous damping may efficiently restore stability of Implicit Midpoint integration method. An extension is also proposed for BDF-2 methods. Comparative examples demonstrate the benefits of this approach. Keywords: Cloth Simulation, Particle Systems, Numerical Integration, Implicit Integration. 1. Introduction Simulating high-quality animated garments on virtual characters is a key factor of their believability. Implicit simulation methods are currently widely used in applications involving garment simulation, from real-time animation systems in Virtual Reality applications [4] [9] [10] to accurate garment simulation for design and prototyping applications [16]. They were introduced by Baraff et al [1] in the field of cloth simulation. Their major interest is their stability. Simulation errors, which usually break the stability of explicit integration Nadia Magnenat-Thalmann MIRALab, Univ. of Geneva [email protected] methods, only appear there as a form of “numerical damping” that does not prevent convergence to equilibrium. The computation may thus be performed much more quickly, through the use of larger simulation timesteps. Many different implicit integration methods are now available in the field of cloth simulation. They differ from their complexity, their accuracy and their stability. An extensive review of them is detailed by Hauth et al [8]. The simplest and most widely-used method for cloth simulation is currently the semi-implicit Backward Euler method [1] [3] [4] [9] [10], which offers first-order accuracy. Fairly easy to formulate, it nevertheless requires the resolution of a large sparse linear system for each of its iterations. However, large timesteps may be used, most of the time without any instability issue (with “infinite” timesteps, it is equivalent to iterations of the Newton resolution method). While not producing instability, simulation errors nevertheless appear in simulations in the form of “numerical damping”. This may alter the dynamic motion of the cloth, and increases significantly with the stiffness of the mechanical system and the size of the timestep [15]. While this is not an issue for cloth draping applications, this may however be a problem when accurate cloth motion and animation is expected. To alleviate this, different approaches have been developed. The first approach is to use more accurate, higher-order integration methods, such as the second-order accurate Backward Differential Formula (BDF-2) method [7] or other variations [2]. Potential problems of this method might be more sensitivity to the nonlinearities of the mechanical model, because of the use of the simulation’s history. Instability also makes higher-order implicit methods inadequate. The second approach is to compensate the numerical damping by additional mechanical effects [11]. However, the accuracy of these context-specific methods is difficult to control. Other numerical enhancements aim at providing more accuracy [12]. The Implicit Midpoint Method is a secondorder accurate integration method related to the Backward Euler method. As the computation is not dependent on the history of the simulation, the method might be fairly robust to nonlinearities and time-dependant changes (such as collision effects). Despite its fairly good accuracy (usually better than BDF-2 methods), it is usually not implemented in cloth simulation applications because of its lack of stability for non-damped mechanical systems [7] [8]. However, stability might be restored through addition of some damping in the mechanical system. Through adequate addition of viscous damping in the mechanical system, the Implicit Midpoint method might compare favorably to other methods in terms of accuracy and stability. This consideration is the main guideline of this study. In the following sections, we perform a study of the stability of Implicit Midpoint method relatively to parameters that describe the stiffness of the mechanical model (Section 2). From that, an adaptive viscous damping scheme for stable simulation is created. We then compare the accuracy of the model to the Backward Euler and BDF-2 methods (Section 3). Finally, the model is tested on high-accuracy garment simulations (Section 4). 2. Designing the Model 2.1. The Implicit Euler Method Family The Implicit Midpoint method actually belongs to a generalized family related to the Backward Euler method. This family can be parameterized by a “impliciticy” coefficient α. Using a state vector Q, an iteration from time t to time t+dt is formulated as follows: Q(t +dt ) − Q(t ) = Q(t′ +α dt ) dt (1) The derivative value is not directly known at the moment t+α dt, and is thus extrapolated from the value at moment t using the Jacobian, leading to the following semi-implicit expression, which requires the resolution of a linear system: Q(t +dt ) − Q(t ) ⎛ ⎞ ∂Q ′ = ⎜I −α dt ⎟ ∂Q (t ) ⎠ ⎝ −1 Q(t′ ) dt (2) Part of this family of methods, α = 1 is the regular implicit Backward Euler step (stable), whereas α = 0 is the explicit Forward Euler step (unstable). The Implicit Midpoint method corresponds to a "sweet spot" at α = 1/2 where second-order accuracy is reached (at the threshold of stability). The α parameter is furthermore a good handle for adjusting the compromise between stability and computation speed. While maximum robustness is obviously observed for large values, reducing its value speeds up the computation (through better conditioning of the linear system to be resolved). 2.2. Theoretical Stability Analysis We first intend to study the actual behavior of this family of methods when dealing with a simple linear viscoelastic spring-mass system. More precisely, we study the stability requirements on the rigidity and damping of a spring-mass system and the simulation timestep dt for ensuring stability of the simulation, depending on the parameter α. The simple damped spring-mass system is described as follows (Fig.1): k m p l Fig.1: The damped spring mass of the stability study. The linear elasticity and viscosity parameters of the spring are noted k and l respectively, and the mass is noted m. Its position from equilibrium is noted p, and p’ and p” are respectively its speed and acceleration. Hence, Q is the vector [p,p’] in formula (2). The main governing equation that rules the dynamic behavior of the mechanical system is the following: ( m p(t) ′′ = − k p(t ) + l p(t) ′ ) (3) Hence, we have: k ∂p′′ =− m ∂p (t ) ∂p′′ l =− ∂p′ (t) m and (4) We simplify the subsequent computations by considering two non-dimensional factors κ (the rigidity stiffness factor) and λ (the damping stiffness factor) describing the numerical stiffness of the problem, defined as follows: κ= k 2 dt m λ= and l dt m (5) For all subsequent considerations, we assume these factors to be positive or null. Iterations of the Inverse Euler methods (2) for solving this second-order mechanical system are written as follows: ⎛ ⎡ p(t +dt ) ⎤ ⎡ p(t ) ⎤ ⎜ − = ⎢ p′ ⎥ ⎢ ⎥ ⎜I −α ⎣ (t +dt ) ⎦ ⎣ p(t′ ) ⎦ ⎜ ⎝ ⎡ 0 ⎢ ∂p′′ ⎢ ⎢⎣ ∂p (t ) 1 ⎤ ⎞ ∂p′′ ⎥ dt ⎟ ⎥ ⎟ ∂p′ (t ) ⎥⎦ ⎟⎠ −1 ⎡ p(t′ ) ⎤ ⎢ p′′ ⎥ dt ⎣ (t ) ⎦ λ< 2 1− 2 α + κ 2 1− 2 α (10c) The first condition ensures that the rest position actually exists. The second condition defines the minimum damping necessary to stabilize a given rigidity, and the third condition, only applicable if α < 1/2, bounds the maximum damping. As we can see, this study informs us precisely on the behavior of all integration methods. First, the explicit Forward Euler method (α = 0) is only stable if κ < λ < 2+κ/2. This implies that stability requires the rigidity coefficient to be smaller than the damping coefficient (no stability can be obtained without any damping), and excessive damping anyhow also produces instability. As a consequence, the Forward Euler method can only be used if κ < 4 (Fig.2). (6) After substitution with (4) and (5), this can be written explicitly for the considered mechanical system in the following iterative form: ⎡ p(t +dt ) ⎤ ⎡ p(t ) ⎤ =H⎢ ⎢ p′ ⎥ ⎥ ⎣ (t +dt ) dt ⎦ ⎣ p(t′ ) dt ⎦ (7) With: κα ⎡ ⎢1 − 1 + λ α + κ α 2 H=⎢ ⎢ κ ⎢− 2 ⎣ 1+ λ α +κ α ⎤ 1 + λ α + κ α ⎥⎥ ⎥ λ +κ α 1− 2⎥ 1+ λ α +κ α ⎦ 1 2 (8) Convergence of the iterations to the rest position is ensured if and only if the norms of both eigenvalues of the iteration matrix H are smaller than unity. These two eigenvalues, possibly complex, are the following: (1 − λ 2 ) + (λ − κ ) α + κ α 2 ± 1+ λ α +κ α2 (λ 2 ) 2 −κ (9) This computation has been carried out using the Wolfram Mathematica software, and has led to the following three conditions on α, κ and λ for ensuring stability: κ >0 (10a) λ > (1 − 2 α )κ (10b) Fig.2: Stability domain of the Forward Euler iterations for the damped spring-mass system. The maximum norm of the eigenvalues of H is shown relatively to rigidity κ (horizontal) and damping λ (vertical). Darker is smaller. White areas indicate instable domains where the norm exceeds unity. The Implicit Midpoint method (α = 1/2), on the other hand, never becomes instable because of damping. Still, some damping is required for stability, and there should be λ > 0 (Fig.3). Finally, the Backward Euler method (α = 1) is always stable (Fig.4). This stability even increases along with the elastic stiffness κ, through the increase of the numerical damping. Fig.3: Stability domain of the Implicit Midpoint iterations for the damped spring-mass systemStability requires some damping. Fig.4: Stability domain of the Backward Euler iterations for the damped spring-mass system. The method is stable even without any damping. Another important point to note is that the lowest eigenvalues (fastest convergence to equilibrium) happens when: λ2 = 4 κ (11) Using the actual mechanical parameters, this means the condition of critical damping: l2 = 4 k m (12) This allows selecting the optimal viscosity according to the elasticity for speeding up relaxation to equilibrium in draping applications. 2.3. Working with Actual Cloth Surfaces The mechanical behavior of actual viscoelastic models of cloth are not as ideal as the simple case studied above. We need to make several approximations to fit the theoretical study in these applications. The first issue arises from the interdependency between the elementary mechanical interactions of the cloth model. For instance, in spring-mass particle systems, the elementary springs interact on each other through the particles they share. Considering that smallscale vibration patterns (corresponding to the highest vibration frequencies) would be the main cause of simulation instabilities, we assume that it would be sufficient to deal with individual interactions independently. We may then compute the stiffness parameters κ and λ of individual interactions independently. For instance, in spring-mass systems, we would use formula (5) considering the native elasticity and viscosity parameters k and l of the spring, and the equivalent reduced mass computed from its extremity masses m = (m1 m2)/(m1+m2). It is easy to generalize this computation to more complex interactions, such as the threeparticle interactions of the accurate model proposed in [16]. This should be done for all the deformation modes of the interaction, and the largest values should be retained among them. Another issue is to deal with nonlinear forcedeformation laws on the interactions. In that case, we consider variable stiffness parameters κ and λ computed from the actual values of k = ∂p”/∂p and l = ∂p”/∂p’ at the current deformation state. While the simple approach described above has been retained for our implementation, more accurate computations of the stiffness parameters could be obtained through a complex modal analysis of the whole mechanical system during preprocessing, aimed at identifying exactly the vibration modes. 2.4. Stable Implicit Midpoint with Adaptive Damping As seen in Section 2.3, the Implicit Midpoint method needs some viscous damping in the mechanical system for ensuring stability. Furthermore, the nonlinearities of the actual mechanical systems representing cloth require some safety margins to be considered in the computation. The critical damping lC = 2 √(k m) (12) rules the possibility of vibratory behaviors in individual interactions. Thus, it seems to be a good reference for defining the amount of damping in interactions. We have carried out extensive simulation tests (Fig.5) for assessing the stability of the Implicit Midpoint method when simulating cloth objects with various damping ratios l/lC uniformly defined on each elements of the mechanical system. It appeared that a ratio of 5% was sufficient for preventing any instability to occur in all tested cases. Of course, this result may vary depending on the structure of the mechanical model and the nonlinearities of the mechanical behavior. Despite being second-order and more accurate than the Explicit Euler method, the α = 0 explicit variation of this method has no area of stability, and is therefore mostly not useable for simulation. An important point to note is that this method also has a "sweet spot" at α = 1/√3 where thirdorder accuracy is obtained, with slightly better stability properties than Implicit Midpoint. However, BDF-2 methods are generally less robust to the nonlinearities of the mechanical model than their Euler counterparts. While, in many cases, this third-order accurate variant would simulate correctly a cloth without any viscous damping, our stability tests have shown that some moderate viscous damping is still preferable for reliable robustness, and a ratio l/lC of 5% is still a good compromise. 3. Optimized Cloth Simulation Fig.5: Stability test: A square of cloth is initially deformed with large random perturbations, and then simulated using various timesteps. 2.5. Progressive BDF-2 Scheme The BDF-2 integration method [7] can be extended though addition of an "impliciticy" parameter α the same way as with done above with the Backward Euler method. The formulation of iteration from time t to time t+dt is: ( ) Q(t +dt ) − Q(t ) = β Q(t ) − Q(t −dt ) + Q(t′ +α dt ) δ t with β = 2 α −1 2 and δ t = dt 2 α +1 2 α +1 And the corresponding expression is: ⎛ ⎞ ∂Q ′ Q(t +dt ) − Q(t ) = ⎜ I − α δt ⎟ ∂Q ⎝ ⎠ (t ) −1 (13) semi-implicit (β (Q(t ) − Q(t −dt ) )+ Q(t′ ) δ t ) (14) Again, increasing the parameter α allows to enhance the stability of the method at the expense of computation time (conditioning of the linear system to be solved for each iteration). It is also worth noting that for α = 1/2, this method actually corresponds to the Implicit Midpoint method described earlier (β = 0, δt = dt). In the previous section, we have shown that the Implicit Midpoint method could be used in simulations through addition of some viscous damping in the model. We need now to check how it compares to the other methods in terms of accuracy despite the added damping. In all subsequent computations, we perform the cloth simulation on a particle system using an accurate surface model of the cloth elasticity, as described in [16]. This model is computationally equivalent to non-linear firstorder finite elements (the only degrees of freedom are defined by the mesh vertices). The cloth is represented by an irregular triangle mesh obtained through Delaunay triangulation of arbitrary pattern contours. The numerical solver implements in a single framework several resolution methods for easy comparison (Implicit Euler and BDF-2 families and 5th-order explicit Runge-Kutta with adaptive timestep [13]). All implicit methods use the Conjugate Gradient method [13] for their linear system resolution. On-the-fly dynamic Jacobian evaluation is used to take into account the nonliearities of the mechanical model accurately [14]. All the simulation software is implemented in C++ and runs on a 2GHz Pentium4 computer. 3.1. Study of Accuracy The test-bed used for this evaluation is a 50cm x 50cm square cloth surface, initially horizontal, attached along one of its edges (Fig.6). explicit methods quite unsuitable for undamped systems. Dissipation (RK5, Undamped) 0.08 Elastic Energy (J) 0.06 Kinetic Potential 0.04 0.02 0 -0.02 1 Fig.6: The drape experiment. 201 Energy (J) Kinetic Potential 0.04 0.02 0 1 90 80 Force (N/m) 70 60 50 40 30 20 10 0 0.05 0.1 0.15 0.2 0.25 101 201 301 Time (0.02s) Fig.8: Plotting the mechanical (Elastic, Kinetic, Potential) energies of the system simulated using the 5th-order adaptive Runge-Kutta iterations (Up: without damping. Down: with viscous damping). 100 0 (0.02s) Elastic 0.06 -0.02 Strain-Stress Curve 301 Time Dissipation (RK5, Damped) 0.08 The material weigh 100 g/m2 and has a weft and warp elasticity strain-stress curve modeled as a polynomial spline having the following shape, roughly corresponding to the tensile properties of a soft Jersey fabric (Fig.7). 101 0.3 0.35 0.4 Deformation (1) Fig.7: The tensile strain-stress curve of the example fabric, modeled as a polynomial spline. Shear is taken half as tensile. The cloth surface is discretized as a triangle mesh of about 1300 elements. The simulation has been performed over 8 seconds. We first need to evaluate the actual impact of the added adaptive damping to the accurate dynamics of the cloth. We first compute a reference simulation that uses the accurate explicit 5th-order Runge-Kutta method with adaptive timestep (Fig.8). The curves exhibit the balancing of the cloth as oscillations between potential and kinetic energy. When no damping is used, we clearly assess the accuracy of the Runge-Kutta simulation through accurate conservation of the total mechanical energy. Macroscopic mechanical energy is however turned into small-scale jittering of the mesh shown by the high amount of elastic energy, which renders For the damped case, a viscous damping of 5% of the critical damping has been applied on all elements, as discussed in Section 2.4. This damping is small enough for preserving the amount of cloth balancing in par with the nondamped case (Fig.8), far above what is observed in real cloth. However, most of the mesh jittering is fairly well smoothed away. This low-damped Runge-kutta simulation renders quite accurately the simulation of what would be an “undamped” cloth without the vibratory artifacts of the simulation. We thus assume that this 5% damping value would not interfere with the actual appearance of cloth. The high accuracy of the explicit Runge-Kutta method however comes at a cost: It took 170 seconds to simulate the damped cloth and 420 seconds to simulate the undamped cloth. In a next step, we compare the simulation of the undamped cloth using Backward Euler with the simulation of the damped cloth using Implicit Midpoint (Fig.9). In both cases, we use constant timesteps of 20 milliseconds (50 iterations per second). The equivalent κ on the mesh elements roughly range from 20 to 200 depending on the amount of deformation. We can clearly see that despite the added viscous damping, the Implicit Midpoint method dissipates far less energy than the Backward Euler method without damping. This demonstrates the interest of this method when high dynamic accuracy is simulating the motion of cloth. needed for Dissipation (BDF-2, Undamped) 0.08 Elastic Dissipation (Back.Euler, Undamped) 0.08 Elastic Energy (J) 0.06 Kinetic Energy (J) 0.06 Potential Kinetic Potential 0.04 0.02 0 0.04 -0.02 0.02 1 0 101 201 301 Time Dissipation (Impl.Midpoint, Damped) 0.08 Elastic Energy (J) 0.06 Kinetic Potential 0.04 0.06 (0.02s) Kinetic Potential 0.04 0.02 0 -0.02 0.02 301 Time Elastic (0.02s) Energy (J) 1 201 Dissipation (BDF-2~3, Damped) 0.08 -0.02 101 1 101 201 301 Time (0.02s) 0 -0.02 1 101 201 301 Time (0.02s) Fig.9: Plotting the mechanical energies of the system (Up: Backward Euler without damping. Down: Implicit Midpoint with viscous damping). Meanwhile, the better conditioning resulting from the Implicit Midpoint method has led to significantly shorter computation times (21 seconds vs. 29 seconds). Another option for adding stability to the Implicit Midpoint method would be to increase the value of α above 1/2. We have tested values of 2/3 and 3/4 which give stability in most cases without the need of viscous damping in the mechanical model. However, through additional dissipation tests, we found that this approach does not bring any benefit compared to the unaltered Implicit Midpoint method with viscous damping. We then evaluate the performance of the BDF2 method on undamped cloth against its thirdorder accurate variation on damped cloth (Fig.10). Although less drastic than when comparing with Backward Euler, the 3rd-order accurate variation of BDF-2 still has fairly less numerical dissipation than the regular BDF-2 method. Computation times are also slightly shorter (25 seconds vs. 30 seconds). It can be noted that 3rd-order accurate BDF-2 and Implicit Midpoint have fairly similar performance. 3rd-order accurate BDF-2 is however slightly more stable (viscous damping is not always necessary for obtaining stability), but possibly less robust to nonlinear mechanical systems. Fig.10: Plotting the mechanical energies of the system (Up: regular BDF-2 without damping. Down: 3rd-order accurate BDF-2 variation with viscous damping). 3.2. The Walk Scene Finally, we compare the Implicit Midpoint method the Backward Euler method in a highly computational expensive context involving high-accuracy simulation of the motion of cloth using an accurate model of the mechanical behavior of fabrics. This test consists in simulating a coat on a walking mannequin. The garment is made of multiple millimeter-precision patterns which exhibit significant overlapping between layers of cloth in several locations (Fig.11). The cloth surface is made out of 1.9 m2 of cotton fabric discretized into 13 000 triangle elements (roughly 1.3 cm2 per element). The anisotropic nonlinear weft-warp-shear strain-stress curves are modeled using polynomial splines representing roughly the behavior of tweed cloth material (average of the load-unload curve hysteresis measured from the fabric using Kawabata tensile test equipment). The mannequin walks five steps during the foursecond animation (Fig.13). We performed the computation of the animation with Backward Euler integration in roughly 130 minutes using iteration timesteps of 2 milliseconds. The same animation was then recomputed in the same conditions using Implicit Euler integration with adaptive damping. The computation time was roughly 110 minutes. Most importantly, the dynamics of cloth was significantly better in the latter case (Fig.12), with more amplitude in the global garment motion and more details showing up in the motion of wrinkle patterns. Fig.11: The patterns of the coat model used for the walk test. The computation was performed again in roughly 80 minutes with the Implicit Midpoint method using timesteps of 5 milliseconds. This has led to cloth motion patterns very similar to what was obtained using Backward Euler with timesteps of 2 milliseconds. stability, although there are no obvious differences found in the practical tests. It can also be noted that we did not manage to perform this computation in the same conditions using the regular BDF-2 method, because of instability artifacts resulting from particular interacting collision patterns. While minimal in the 3rd-order BDF-2 variant (β ≈ 0.07 in equation (13)), the history contribution is much higher in the regular BDF-2 method (β ≈ 0.33). This dependence on history could highly reduce the accuracy and robustness of the method if highly discontinuous and time-dependant mechanical effects such as collisions occur. 3.3. Simulating Damping in Cloth Materials The minimal damping used by our adaptive system (Fig.13) ensures a good reproduction of the flowiness of the garment during its motion, which is usually one of the weak points of implicit integration methods when stiff cloth corresponding to actual properties of fabric materials is involved. It can be noted that in actual clothing fabric, the internal viscosity of the material is very likely to largely exceed the values of viscosity required for the stabilization of the Implicit Midpoint method. Therefore, rather than complicating the computation through the dynamical evaluation of the critical damping viscosity, it is most of the time easier to input a constant viscosity parameter for the whole cloth. In most garment simulation situations, viscosity values around 0.01 N/m.s seem to be adequate values simulating low cloth damping while providing good stabilization. Fig.12: Comparing the animated garment computed with undamped Backward Euler (left) and damped Implicit Midpoint (right), in the middle of the walk sequence. Cloth dynamics shows more features in the latter. The 3rd-order BDF-2 variant led to performances very similar to those of Implicit Midpoint, with approximately the same cloth motion. It might be slightly more robust and require less viscous damping to achieve Fig.13: The walk sequence computed using the Implicit Midpoint method with adaptive damping. Color shows the distribution of viscous damping added for stabilizing the integration. Darkest areas show viscosity around 0.01 N/m.s. The simulation of the actual damping of fabric materials for highly realistic dynamic motion of cloth still remains a challenge. It requires a precise modeling of the hysteresis and viscosity of the material. While the hysteresis envelope can easily be extracted from tensile test curves, its numerical modeling and resolution is very difficult and inefficient. This modeling also requires the knowledge of the precise strainstress behavior inside the hysteresis envelope. On the other hand, viscosity is easy to integrate in the mechanical model, but no convenient device or protocol exists for measuring it on actual cloth materials. Many existing cloth simulation systems rely on the numerical damping produced by the Implicit Euler integration to somehow reproduce some mechanical damping in the cloth. The result of this may be highly variable depending on the elastic stiffness of the cloth and the actual simulation time step. While this is not a big deal in draping applications, most cloth simulation systems accommodate this through the lack of knowledge on actual damping properties of fabrics. Nevertheless, an accurate simulation system is still necessary for obtaining quality simulations where the motion of the cloth does not depend too much on the numerical aspects of the resolution. 4. Conclusion and Perspectives The main result of this study has been to show the significant advantage of using the Implicit Midpoint method for integrating particles systems in cloth applications. It offers significantly better accuracy than both the Backward Euler which is frequently used in cloth simulation systems, despite the inclusion of a moderate viscous damping necessary for its stability. Additionally, its integration requires significantly less computation charge. The damped Implicit Midpoint method also compares well to the regular BDF-2 method. Besides a moderate gain in accuracy, its main advantage is actually a better robustness to collisions and other discontinuous effects because it is not dependant on the history of the simulation. A similar extension may be done for deriving a third-order accurate variation offering better performance from the BDF-2 method. This variant has fairly similar performances compared to the Implicit Midpoint method. As the Implicit Midpoint method is very simple and similar to the Backward Euler method, it can be extended in the same way to provide even more performance in more advanced mechanical models [6] [16] and some given contexts. For instance, there is no difficulty in extending the Implicit-Explicit integration proposed in [5] to support the Implicit Midpoint Method. Furthermore, dynamically varying the “impliciticy” factor α allows smooth transition between Forward Euler, Implicit Midpoint, Backward Euler and even BDF-2 methods. This could be exploited in a dynamical scheme to getting the most out of the accuracy and stability of each method. 4.1. Choosing the Best Method We here make a small summary on how to select the numerical integrator depending on the simulation context. * For draping applications, the only matter is for the method to converge as quickly as possible to the rest state, without bothering about the realism of the cloth motion. Using the Backward Euler method with fairly large time steps seems the fastest and most robust approach for this, particularly when using nonlinear mechanical models. This does not require the modeling of any damping. However, adding some viscosity to the model may speed up convergence. * When realistic motion of the cloth is expected, the second-order Implicit Midpoint method or the third-order accurate BDF-2 variation will certainly help getting accurate cloth motion. As demonstrated in this work, they perform better through addition of a moderate stabilization viscosity than the Inverse Euler Method or regular BDF-2. The overall computational gain might be two-fold in some cases. * If perfect reproduction of the dynamic behavior of the cloth is expected, the explicit 5th-order Runge-Kutta method with adaptive timestep is still the high-accuracy method to consider. It does require some damping to be included in the mechanical model. However, this comes at the high computational cost needed for computing exactly all the elements of the mesh accurately, which may become very high for stiff materials and refined meshes. This is usually out of reach for applications that require the accurate simulation of complete garments with actual mechanical properties of fabrics. While viscous damping is fairly easy to integrate in a mechanical model for improving the numerical behavior of the integration, its actual measurement on real fabric materials still remains a challenge, which needs to be addressed. This is made necessary for tackling the next step of garment simulation, in its move from draping applications to accurate simulation of the cloth motion, a main factor to the beauty of garments and the characters who wear them. Acknowledgements Many thanks to all the people who contributed to this work, and particularly Cristiane Luible and Nedjma Cadi for their quality design work. This work is funded by the European FP6-ISTHAPTEX project. [12] [13] [14] [15] Bibliography [1] D. Baraff, A. Witkin, Large Steps in Cloth Simulation, Computer Graphics (SIGGRAPH’98 proceedings), AddisonWesley, 32, pp 106-117, 1998. [2] R. Bridson, S. Marino, R. Fedkiw, Simulation of Clothing with Folds and Wrinkles, Eurographics-SIGGRAPH Symposium on Computer Animation, pp 28-36, 2003. [3] K.J. Choi, H.S. Ko, Stable but Responsive Cloth, Computer Graphics (SIGGRAPH’02 proceedings), Addison Wesley, 2002. [4] M. Desbrun, P.Schröder, A. Barr, Interactive Animation of Structured Deformable Objects, Proceedings of Graphics Interface, A K Peters, pp 1-8, 1999. [5] B. Eberhardt, O. Etzmuss, M. Hauth, ImplicitExplicit Schemes for Fast Animation with Particles Systems, Proceedings of the Eurographics workshop on Computer Animation and Simulation, Springer-Verlag, pp 137-151, 2000. [6] O. Etzmuss, J. Gross, W. Strasser , Deriving a Particle System from Continuum Mechanics for the Animation of Deformable Objects, IEEE Transaction on Visualization and Computer Graphics, 9(4), pp 538-550, 2003. [7] M. Hauth, O. Etzmuss, A High Performance Solver for the Animation of Deformable Objects using Advanced Numerical Methods, Eurographics 2001 proceedings, Blackwell, 2001. [8] M. Hauth, O. Etzmuss, W. Strasser, Analysis of Numerical Methods for the Simulation of Deformable Models, The Visual Computer, 2002 [9] Y.M. Kang, J.H. Choi, H.G. Cho, D.H. Lee, C.J. Park, Real-Time Animation Technique for Flexible and Thin Objects, WSCG proceedings, pp 322-329, 2000. [10] M. Meyer, G. Debunne, M. Desbrun, A. H. Barr, Interactive Animation of Cloth-like Objects in Virtual Reality, Journal of Visualization and Computer Animation, John Wiley & Sons, 2000. [11] M. Müller, J. Dorsey, L. McMillan, R. Jagnow, B. Cutler, Stable Real-Time [16] Deformations, Symposium on Computer Animation, pp 49-54, 2002. D. Parks, D.A. Forsyth, Improved Integration for Cloth Simulation, Eurographics short presentations, 2002. W.H. Press, W.T. Vetterling, S.A. Teukolsky, B.P. Flannery, Numerical Recipes in C, Second edition, Cambridge University Press, 1992. P. Volino, N. Magnenat-Thalmann, Implementing fast Cloth Simulation with Collision Response, Computer Graphics International Proceedings, IEEE Computer Society, pp 257-266, 2000. P. Volino, N. Magnenat-Thalmann, Comparing Efficiency of Integration Methods for Cloth Simulation, Computer Graphics International Proceedings, IEEE Computer Society, 2001. P. Volino, N. Magnenat-Thalmann, Accurate Garment Prototyping and Simulation, Computer-Aided Design and Applications, CAD Solutions, 2(5), pp 645-654, 2005.
© Copyright 2026 Paperzz