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