Implicit Midpoint Integration and Adaptive Damping for Efficient

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.