Game Development Reference
In-Depth Information
and
x 0 )+ f ext ,
(10.16)
where h is the time step of the simulation. Note that the position at time t + h
should be implicitly computed from the velocity at time t + h , unlike in explicit
methods where the velocity is available at time t .Inordertofindawaytosolve
the previous equations we need to rearrange them. Thus, replacing x ( t + h ) of
Equation (10.15) into Equation (10.16) and grouping terms, we obtain
M + h D + h 2 K v ( t + h )= M v ( t )+ h K ( x ( t )
M v ( t + h )= M v ( t )+ h
D v ( t + h )
K ( x ( t + h )
f ext .
x 0 )
(10.17)
Therefore, to solve the dynamic-system description of a deformable body using
an implicit form, we simply have to invert the matrix,
S = M + h D + h 2 K ,
(10.18)
and multiply both sides of Equation (10.17) to obtain v ( t + h ) and posteriorly
x ( t + h ).
10.3.4 Corotational Formulation
The fact that we are using the finite element model based on linear elasticity has
several advantages. First of all, the matrices K , D ,and M are constant at any
time t , hence the system matrix S of Equation (10.18) will also be constant dur-
ing the simulation, unless a topology change is executed on the object. However,
since the linear elasticity formulation is based on the Cauchy strain tensor, which
is not invariant under rotations, the model is only accurate for small deforma-
tions, i.e., deformations where rotations can be neglected. If the object undergoes
large deformations, rotations will appear and make the model inaccurate or even
invalid. This leads to an unrealistic increment of the volume of the object. To
handle this, nonlinear strains (e.g., Green-Lagrange strain) are used in mechan-
ics to model large deformations with rotations, but this leads to more-complex
equations and, therefore, to more computationally expensive simulations. For
video games, a good trade-off between the Cauchy strain and nonlinear strains is
achieved by using a corotational formulation of the finite element method. Al-
though the theory of using a corotational formulation is not new in the mechanics
field, it was recently introduced in computer graphics [Muller and Gross 04, Etz-
muss et al. 03,Garcia et al. 06]. The development that we have presented through
Section 10.3.3 does not change much since it only affects the way of dealing with
rotations. The general idea is based on computing the forces applied to the nodes