Game Development Reference

In-Depth Information

When the external forces are removed, the object pops back to its original

configuration if it is a pure and perfect elastic body. The speed at which it returns

to its rest position depends on the physical properties of the object material. In

some cases, after applying and removing forces, the resistance to deformations

may vary due to the fatigue or weakening of the object (e.g., human tissue). It

is not in the scope of this chapter to deal with these types of cases, however it is

important to introduce some basic concepts of elasticity in order to relate object

deformations to its material properties.

10.2.1 Strain

The elastic strain
ε
is a dimensionless measure of deformation. In the one-

dimensional case, e.g., a line element or a fiber being deformed, the strain is

simply
δl/l
0
,where
δl
is the increment of the rest length
l
and represents the

compression or stretching of the fiber. In the three-dimensional case, the strain

represents changes in length in three directions and hence is expressed as a 3
×
3

symmetric matrix. In the linear case, we can use the
Cauchy strain
represented by

⎡

⎤

ε
11

ε
12

ε
13

⎣

⎦
,

ε

=

ε
21

ε
22

ε
23

(10.1)

ε
31

ε
32

ε
33

where each entry of the matrix is given by

∂u
i

∂x
j

,

1

2

+
∂u
j

∂x
i

ε
ij
=

with
i
=1
,
2
,
3 and
j
=1
,
2
,
3. Partial derivatives may create a sensation of

complexity to the reader, and unfortunately, they are unavoidable. However, as

we will see later in this chapter, most of them can be easily and explicitly solved

before writing the respective code, as shown, for example, in Equation (10.10).

Linear strains are suitable for measuring small deformations, but when the

object is subjected to large rotational deformations, its original volume increases

unrealistically since the Cauchy strain is not invariant to rotations. Although non-

linear strains, such as the Green-Lagrange strain, model large deformations more

accurately, they are computationally more expensive since they have to evaluate

quadratic terms. Fortunately, as we will explain later in this chapter, using a coro-

tational formulation [Muller and Gross 04, Etzmuss et al. 03, Garcia et al. 06]

allows the use of the linear strain without artifacts, keeping plausible soft body

simulations.