7.7. CONCLUSION 73
Let’s first define some intermediate quantities. e first triangle consist of particles x
0
, x
1
,
and x
2
. e second triangle is made up of particles x
1
, x
2
, and x
3
; see Figure 7.6. e neighboring
triangles share a common edge e.x/ D x
1
x
2
. e triangle normals are computed as
n
A
.x/ D
.
x
2
x
0
/
.
x
1
x
0
/
n
B
.x/ D
.
x
1
x
3
/
.
x
2
x
3
/
;
(7.36)
where n
A
and n
B
are the normals of the first and second triangle, respectively. It will be more
convenient to work with the normalized vectors denoted by On
A
, On
B
, and Oe.
We now have everything we need in order to compute the sine and cosine of the angle
between the triangles based on the vertex positions:
cos D On
A
.x/ On
B
.x/
sin D
.
On
A
.x/ On
B
.x/
/
Oe.x/:
(7.37)
Just like for the stretch and shear forces, we can perform all the derivations and compute
the forces and their derivatives. is is left as an exercise for the reader. A good derivation can
be found in the work of Tamstorf and Grinspun [2013].
7.7 CONCLUSION
is chapter discussed the seminal work by Baraff and Witkin [1998]. We talked about how
we could define internal cloth forces over triangles instead of between point masses. e model
enables local anisotropic stretch or compression and offers a unified treatment of damping forces.
e energies are defined based on condition functions imposed on the triangles of the cloth.
e derivations of the force derivatives for the implicit solver become a little bit more
involved but we obtain simulations for which the material parameters are less dependent on the
cloth geometry. is makes it much easier to model garments that have physical behavior that
can be tuned much more intuitively compared to mass-spring systems. Not only that, it also
allows for the matching of real-world measurements with simulations, as shown by Wang et al.
[2011].