0% found this document useful (0 votes)
14 views10 pages

Stanford2015 05

Uploaded by

maria elena
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views10 pages

Stanford2015 05

Uploaded by

maria elena
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Fully Momentum-Conserving Reduced Deformable Bodies with Collision,

Contact, Articulation, and Skinning


Rahul Sheth∗ Wenlong Lu∗ Yue Yu∗ Ronald Fedkiw∗
Stanford University Stanford University Stanford University Stanford University
Pixar Animation Studios Industrial Light & Magic

Abstract
We propose a novel framework for simulating reduced deformable
bodies that fully accounts for linear and angular momentum conser-
vation even in the presence of collision, contact, articulation, and
other desirable effects. This was motivated by the observation that
the mere excitation of a single mode in a reduced degree of freedom
model can adversely change the linear and angular momentum. Al-
though unexpected changes in linear momentum can be avoided
during basis construction, adverse changes in angular momentum
appear unavoidable, and thus we propose a robust framework that
includes the ability to compensate for them. Enabled by this ability
to fully account for linear and angular momentum, we introduce an
impulse-based formulation that allows us to precisely control the
velocity of any node in spite of the fact that we only have access to
a lower-dimensional set of degrees of freedom. This allows us to
model collision, contact, and articulation in a robust and high visual
fidelity manner, especially when compared to penalty-based forces Figure 1: An articulated reduced deformable body falls down a
that merely aim to coerce local velocities. In addition, we propose a flight of stairs undergoing collision and self-collision. Even with
new “deformable bones” framework wherein we leverage standard simple linear finite elements, the results have high visual fidelity
skinning technology for “bones,” “bone” placement, blending op- due to our new “deformable bones” skinning strategy. We stress
erations, etc. even though each of our “deformable bones” is a fully that this is a pure simulation of a reduced deformable body, and
simulated reduced deformable model. no misleading techniques such as first simulating a rigid body and
then attaching a deformable skin after the fact were employed.
CR Categories: I.3.7 [Computer Graphics]: Three-Dimensional
Graphics and Realism—Animation
ulation dataset [Barbič and James 2005], augmentation of the ba-
Keywords: deformable bodies, elasticity, collisions, skinning, sis with localized displacement vectors [Harmon and Zorin 2013],
model reduction, subspace etc. Regardless of the specific method used, most of the bases con-
structed by these methods are linear and can thus be written in a ma-
1 Introduction trix form. Our method is compatible with all of the aforementioned
approaches yet does not require mass normalization, but does re-
Simulations of deformable objects are known to be both visually quire full column rank. This keeps the framework as general as
interesting and computationally demanding. One way to lessen the possible and enables an example-based reduced-order scheme that
computational expense of these simulations is to use a reduced- we discuss in Section 8.
order (or subspace) model to represent the internal dynamics. The We use a reduced-order approximation of the displacement ~ u =
performance of such a model depends on the size of the subspace r S~q where the columns of S represent particle displacements from
as well as the basis vectors chosen to represent that space. If n is the rest pose ~ x0 . Here ~u and ~x0 have dimensions n by 1, S has
the size of the full-order model, optimal performance benefits are n rows and r columns, and the entries of ~ u, ~
x0 and S are all 3-
achieved when r  n and the simulation takes O (rp ) time for vectors. Then, particle positions are given by S~ q+~ x0 , where ~
q is
small values of p. a reduced space vector which when set to a basis vector (i.e. ~ q ∈
Basis construction is a difficult problem and many solutions x0 reconstructing the kth basis
{~e1 , ~e2 , ..., ~er }) results in S~ek + ~
have been proposed, including modal analysis [Pentland and shape. To enable fully unconstrained simulation, we embed this
Williams 1989], a method to include the derivatives of linear system in a rigid frame
modes (i.e. modal derivatives) [Idelsohn and Cardona 1985], mass- ~
weighted principal component analysis (PCA) of an existing sim- ~
x = R(S~
q+~
x0 ) + T (1)

∗ e-mail: {rbsheth,wenlongl,yuey,fedkiw}@cs.stanford.edu where R is a diagonal matrix of rotations R and T ~ is a vector of


translations ~t. Note that this formulation reduces to a rigid body
when there are no internal deformation modes, i.e. when S = 0.
This is similar to the method of [Terzopoulos and Witkin 1988]
where deformation occurs in a rigid frame.
After assigning each particle a mass (consistent with the require-
ment in Section 4), we adjust the rest state ~
x0 and each basis shape
S~ek + ~
x0 such that their centers of mass are at the origin. This
mulate the general impulse equations between and among reduced
deformable models.
The articulation of reduced deformable bodies has been discussed
previously in [Kry et al. 2002; Choi and Ko 2005]. However, these
methods did not attempt to solve the rigid and the reduced de-
formable systems in a fully coupled manner. In particular, [Kim
and James 2011] did not consider two-way coupling between R, ~ q,
and ~t since they assumed R and ~t were prescribed by the underlying
motion of the articulated figure, whereas in the general case that we
address (similar to [Shabana 2005]) R and ~t vary based on the laws
of physics. Generally speaking, [Shabana 2005] takes a force-based
generalized coordinates approach to the equations, since their focus
is on articulated linkages where arbitrary, unpredictable collisions,
contact, closed-loops, etc. are less common, whereas in a graphical
simulation system they are commonplace and therefore we take a
Figure 2: Thirteen out of the thirty-one articulated reduced de- maximal coordinates approach using impulses.
formable armadillos we drop through a Pachinko machine. Skinning articulated rigid bodies is a widely-used technique in
graphics, see e.g. [Lewis et al. 2000; Kavan et al. 2007; Baran and
Popović 2007]. The use of skinning combined with two-way cou-
guarantees that the mass-weighted column sums of S are ~0 and that pled full-space deformations for articulated bodies was explored in
S~q + ~x0 contains no translation of the center of mass. Thus, any [Liu et al. 2013]. Our novel contribution is not the skinning di-
translation of the center of mass in Equation 1 is represented en- rectly but rather the application of skinning to articulated reduced
tirely by ~t. This is useful for formulating collisions and constraints deformable body parts of a character. Output-sensitive collision de-
in maximal coordinates using impulses, because the total change in tection for reduced deformable bodies has been discussed in [James
linear momentum is due solely to changes in ~t. Unfortunately, a and Pai 2004], and we extend their BD-tree ideas to work on a skin
similar approach for angular momentum is generally not feasible, made up of multiple underlying reduced deformable bodies. A sim-
as changes in ~ q affect the particle configuration, the inertia tensor, ilar method for standard skinning models was described in [Kavan
and Žára 2005]. [Barbič and James 2010; Teng et al. 2014] ex-
and the angular velocity. Similarly, changes in ~ q˙ affect the angu-
plored self-collision pre-computation schemes, but not on skinned
lar momentum in complex ways, and thus R and ~ q are intrinsically
bodies. Their work could potentially be extended to speed up the
coupled. The fact that ~ q and ~ q˙ may have no effect on the linear detection of self-collisions on our skinned bodies as necessary.
momentum is either serendipitous or explicitly exploited in many
reduced model formulations, whereas the inability to decouple ~ q
and ~q˙ from R and Ṙ with regards to angular momentum has not 3 Kinematic Framework
received the cautionary attention that it should.
Each row of Equation 1
We derive in detail our method to calculate the angular momen-
tum caused by changes in ~ q and ~q˙ and subsequently compensate for ~
xi = R(Si ~ x0,i ) + ~t
q+~ (2)
it by adjusting the rigid frame’s angular momentum. Linear mo-
describes the position of a single particle. Differentiating Equation
mentum is not changed by ~ q˙ due to the aforementioned basis pro- 2 with respect to time, the velocity is
cessing step but could be handled in a similar fashion if necessary.
Per-body conservation enables us to formulate conservative meth- x˙ i = Ṙ(Si ~
~ q+~ q˙ + ~t˙ = ω
x0,i ) + RSi ~ ~R∗
q˙ + ~t˙
~ri + RSi ~ (3)
ods for collisions, contact, and articulation, allowing us to maintain
the physically correct total momentum of the system (deformation where ~ri = R(Si ~q+~ x0,i ) is the moment arm for particle i, ω
~ R is
plus rigid motion) using a simple integration scheme. We combine the angular velocity associated with the change in R, ∗ represents
these capabilities with a decomposition and a skinning technique the skew-symmetric cross product matrix for a given vector, and
to enable stable, visually pleasing reduced simulations of complex Ṙ = ω
~R∗
R.
deformable models.
The total linear velocity of the center of mass ~v is defined in world
space as the linear velocity of the frame plus the net linear veloc-
2 Related Work ity of the deformation. As such, it may have contributions from
Equation 1 bears some resemblance to other approaches, such as two separate terms in Equation 3, namely ~t˙ and RSi ~ q˙. Likewise,

[Metaxas and Terzopoulos 1992; Hauser et al. 2003; Lall et al. the total angular velocity ω
~ may have contributions from ω ~R ~ri and
2003; Gilles et al. 2011; Barbič and Zhao 2011; Fan et al. 2013]. RSi ~˙
q . Therefore, we write
In particular, [Shabana 2005] intrinsically couples R, ~ q , and ~t since
they are solving for general rigid linkages with deformable compo- ~v = ~t˙ + ~v 0 (4a)
nents and do not necessarily have control over the coordinate sys- ω
~ =ω
~R + ω
~ 0
(4b)
tems. In contrast, we can separate the treatment of ~t from R and ~ q,
making R and ~ q only one-way dependent on ~t (i.e. ~t is independent where ~v 0 and ω
~ 0 indicate the contributions from RSi ~ q˙. Equations 3
of R and ~q ) by moving all the basis shapes’ centers of mass to the and 4 allow us to write
origin, whereas in [Shabana 2005] the generalized Newton-Euler h i
matrix is dense and ~t is two-way coupled to R and ~ q . As noted ~ ~ ∗~ri + RSi ~
x˙ i = ~v + ω q˙ − ~v 0 − ω
~ 0∗~ri (5)
above, it is not generally possible to process the basis shapes in a
way that separates R from ~ q ; however, we do take a novel approach where the term in brackets should have no net contribution to the
that quantifies the relationship between R and ~ q allowing us to for- total linear or angular velocity.
Since the term in brackets in Equation 5 should have no net contri- for plausible collision behavior. The strange and numerically unsta-
bution to the total linear momentum, i.e. all the linear momentum ble behavior we observed while simulating unconstrained reduced
is contained in ~v , we may write bodies did in fact disappear once we added enough anchor con-
n
straints. However, angular momentum conservation allows us to
X make the unconstrained simulations much more stable in addition
R q˙ − M~v 0 = ~0
mi Si ~ (6)
to being more physically correct.
i=1
Pn Whereas the summation in Equation 8 appears to be O(n), its com-
where M = i=1 mi is the total mass of all n particles of the putation can be optimized by pre-computing terms and calculat-
object. Since we adjusted our basis so that S would have mass ing the reduced angular momentum in object space. Similarly, the
weighted column sums of ~0, the first term in Equation 6 is zero and O(n) inertia tensor calculation can also be optimized. Although
thus ~v 0 = ~0. That is, ~v = ~t˙ and the velocity of the internal modes ~
q˙ updating ω~ 0 and I can be relatively expensive, these costs are only
makes no contribution to the total linear momentum of the object. fully incurred when the positional terms change.
A similar discussion leads to
n
4 Dynamic Framework
X h i
mi~ri∗ q˙ − ω
RSi ~ 0∗
~ ~ri = ~0 (7) We differentiate Equation 3 with respect to time in order to obtain
i=1
the acceleration
~ 0 to obtain
which can be re-arranged and solved for ω ¨ i = (ω
~
x ∗
~˙ R +ω
~R∗ ∗
ω
~ R )~ri + 2~
ωR∗
RSi ~ q¨ + ~t¨.
q˙ + RSi ~ (12)
n
X
~0 = I
ω −1
mi~ri∗ RSi ~
q˙ (8) ~˙ R
Three of these terms lead to the fictitious forces: ω ∗
~ri leads to the
i=1 ∗ ∗
Euler or transverse force, ω ~ R~ri leads to the centrifugal force,
~ Rω
where I =
Pn
ri∗ )T ~ri∗ is the inertia tensor. Ideally, one and 2~
ωR∗
q˙ leads to the Coriolis force.
RSi ~
i=1 mi (~
could remove all internal rotation from the basis so that ω ~ 0 = 0 and Newton’s second law is
ω
~ =ω ~ R , which is done trivially for rigid bodies. However it is not
clear that one can remove this rotation in general, and therefore one MR−1 ~ ~ int + R−1 F
¨=F
x ~ ext (13)
must account for both ω ~ 0 and ω ~ R.
To further elucidate Equation 8, consider the total global angular where the internal forces are defined in object space, the external
momentum of a body forces are defined in world space, and M is the consistent finite
element mass matrix defined in object space. Substituting Equa-

n
X n
X tion 12 into Equation 13, solving for MS ~ q¨, and pre-multiplying
~ global = ~xM
L M~v + mi~ri∗~vi = ~
xM∗
M~v + Ii ω
~i (9) both sides by S T results in
i=1 i=1

S T MS ~ ~ int + S T R−1 F
q¨ = S T F ~ ext − 2S T MR−1 ω
~R∗

RS ~
where ~xM is the world space location of the center of mass, ~vi
is the relative velocity of particle i with respect to the center of
 
−1 ∗ ∗ ∗
T
− S MR ~˙ R + ω
ω ~ Rω~ R R(S~ q+~ xo ) (14)
mass velocity ~v , Ii = mi (~ri∗ )T ~ri∗ is particle i’s contribution to
the inertia tensor, and ω ~ i = ~ri∗~vi /~riT ~ri is the angular velocity of
particle i due to ~vi with respect to the center of mass. The second
equality in Equation 9 is true because ~ri∗~vi = ~ri∗ ω ~ i∗~ri since the
dilational component of ~vi is annihilated by the cross product with
~ri leaving only the rotational component. The summation term in
Equation 9 is the angular momentum of the body with respect to its
center of mass, L ~ body . Thus, one can more rigorously define the
total angular velocity ω~ for the deforming body as
n
def X
~ ≡ I −1
ω ~ i = I −1 L
Ii ω ~ body . (10)
i=1

Multiplying Equation 4b by I then results in


~ body = I~ ~0 .

L ω=I ω
~R + ω (11)

The reduced degrees of freedom ~ q˙ make a non-zero contribution


to the global angular momentum, which can be accounted for by
Figure 3: A simple reduced deformable cube with six tetrahedral
adding a global rotational velocity ω~ 0 that offsets the contribution
˙ elements, eight particles, and a mass of 1000 kg is given a ran-
from ~q keeping the total global angular momentum as represented dom initial reduced displacement with zero reduced velocity and
by ω
~ constant. We emphasize that the ability to make a correction to embedded in a frame. We simulate the cube without and with our
the global angular velocity along the lines of ω ~ 0 is quite important angular momentum correction scheme using the same initial con-
for conserving angular momentum; the fact that our framework in ditions. Even though there is no angular momentum in the system
Equation 1 contains the rotation matrix R allows us to readily make at the start, the uncorrected simulation quickly accumulates signif-
this modification. icant erroneous angular momentum whereas our scheme preserves
Figure 3 illustrates the difference our correction term can have. We the momentum of the system exactly. Note the change in final ori-
have found that the conservation of angular momentum is crucial entations.
Figure 4: A reduced deformable bunny falls and rolls down a slope, and then topples a domino set consisting of reduced deformable tiles.

which can be solved for ~ q¨ because S T MS is symmetric positive Equation 18 minimizes ω ~ 0 since one cannot readily predict the ef-
definite (SPD) as long as our examples are linearly independent. fect of P F~ ext
on the reduced basis (although it is a good start).
Since the mass-weighted column sums of S are ~0, S T projects Combining Equations 17 and 18 into a single projection P converts
MR−1 T ~¨ to zero as long as the row sums of M are equal to the ~ ext into a conservative force with no net translation or rotation.
F
individual masses of the particles. If this is not the case, one could Note that computing S T R−1 P F ~ ext is O (n) since P F~ ext is no
redefine the individual particle masses as the row sums of M in ~ ext
order to satisfy this condition. longer sparse, even if F was. However, we can first rotate the
external forces into object space and then apply the equivalent ap-
Fictitious forces that appear in Equation 14, which we collectively propriate projection along the lines of Equations 17 and 18 in object
call F~rf ict , can be computed efficiently by noting that R−1 ω
~R∗
R space, essentially switching the order of R−1 and P by modifying
P . This allows us to precompute the various O (n) cost terms in
 
and R −1
~˙ R + ω
ω ∗ ∗
~ Rω ∗
~ R R can be computed by rotating ω ∗
~ R and
S T P so that computing the projected external force in the reduced
~˙ R
ω ∗
into object space. ~ ext , i.e.
space only requires consideration of the sparse entries in F
X h T i −1 ext
4.1 External Forces ~rext =
F S P R f~k (19)
k
k
We sum all the external forces in order to get a net external force,
where S T P k is the kth column of S T P and the summation is
 
which is used to update the rigid frame as
n only over all non-zero f~kext .
1 X ~ ext
~v˙ = fk (15)
M 4.2 Internal Forces
k=1
n n
~˙ body =
X X
L ~rk∗ f~kext = ~τkext (16) Although one could choose any valid reduced internal force model
k=1 k=1 (such as [Barbič and James 2005; An et al. 2008]), for simplicity
we chose a linearized finite element model
where F~ ext is ideally a sparse vector and thus this summation is not
~ int = −K~
F u˙ = −KS~
u − C~ q˙
q − CS ~ (20)
O (n). When putting the external forces (or impulses) into object
space, one could project away the translational component before- C = αM + βK. (21)
hand  
m1 To find the reduced internal force, we project these forces onto the
.  basis by pre-multiplying by S T
PF ~ ext = F  ..  ~v˙
~ ext −  (17)
mn ~rint = −S T KS~
F q˙ = −Kr ~
q − S T CS ~ q˙.
q − Cr ~ (22)
where P is a projection matrix that performs this linear operation.
However, this is not necessary since any net translation is already
in the null space of our reduced basis. Similarly, aiming to keep as
5 Collisions and Contact
much of the rotation in R as possible, we could also project away
Starting from the conservation of momentum laws for two bodies,
the rotational component
we can describe the post-collision momenta in terms of the pre-
collision ones
m1 (~r1∗ )T
 

~ ext ~ ext −  ..  −1 ~˙ Ma~va+ + Mb~vb+ = Ma~va− + Mb~vb− (23)


PF =F  .  I Lbody . (18)
mn (~rn∗ )T
∗ ~+ ∗ ~+
~
xM a
Ma~va+ + Lbody,a + ~
xM b
Mb~vb+ + Lbody,b
Generally speaking, Equation 18 is useful in the sense that we ∗
~ 0 , although it is not entirely clear that
would like to minimize ω =~
xM a
Ma~va− + L
~−
body,a + ~
xM∗
b
Mb~vb− + L
~−
body,b . (24)
q˙ in
~ 0 in Equation 8 and the definition of ∆~
Using the definition of ω
Equation 29 we can write
n
X
ω 0 = I −1
∆~ mi~ri∗ RSi Ak R−1~jk . (32)
i=1

Then, we may write

x˙ k− + (K1 + K2 )~jk = ~
x˙ k+ = ~
~ x˙ k− + K~jk (33a)
K1 = 1/M − ~rk∗ I −1~rk∗ (33b)
n
X
K2 = RSk Ak R−1 + ~rk∗ I −1
mi~ri∗ RSi Ak R−1 (33c)
i=1

where K1 is the standard rigid body impulse factor and K2 is the


new impulse factor that contains terms for object space deforma-
tions. Note that the combined operator is still linear, so we can
solve for impulses quickly just as in the rigid body case. [Hauser
et al. 2003] presents an equation similar to Equation 33, although
~ 0 = ~0. In our examples, we
their equations are incorrect unless ω
have seen that the contribution to angular momentum from ω ~ 0 is
quite significant and cannot be ignored.
Figure 5: We make the armadillo’s hands and feet static and allow
the rest of the body to deform with articulation constraints. We then 5.1 Reduction to Rigid and Deformable Models
hit the armadillo with various rigid bodies causing deformations in
the armadillo while keeping its hands and feet in place. The hands We stress that Equation 33 is the most general form of the impulse
and feet could also have been moving according to artist-specified equation within our framework and is the superset of both the rigid
kinematic paths. and deformable cases. In the rigid case, S = 0, ω ~ 0 = ~0, and
K2 = 0, leaving only K1 which is the standard impulse factor.
In the case of deformable bodies, R is the identity, ~t = ~0, and S
An impulse ~jk applied to particle k changes both linear and angular functions similar to an identity except that it packs all the scalar
momentum as follows components of ~ q into a vector of 3-vectors in ~u. In addition, P
Ml~vl+ = Ml~vl− ± ~jk (25) is the identity and the net effect of Equation 29 is to divide ~jk by

mk . Then K2 reduces to 1/mk +~rk∗ I −1~rk∗ . Thus the inertia tensor
~xM ~+
Ml~vl+ + L
l body,l terms from K1 and K2 cancel, leaving only 1/M + 1/mk . At first

Ml~vl− + L
~− xMl + ~rk,l )∗ ~jk glance, the 1/M seems misplaced, but this is because we have set
= ~xM body,l ± (~ (26)
l
~t identically zero and have not likewise set ~v 0 = ~v according to
for l = a, b. By substituting Equation 25 into Equation 26, we can Equation 4a. Doing so introduces another term in K2 that cancels
simplify Equation 26 to out 1/M leading to the expected result.
~+
L ~−
body,l = Lbody,l ± ~
∗ ~
rk,l jk . (27)
5.2 Friction
Using the definition of ω~ in Equation 10, we can rewrite Equa-
tion 27 as We model friction after the method in [Guendelman et al. 2003],
ω ~ l− ± Il−1~rk,l
~ l+ = ω ∗ ~
jk . (28) which first calculates the impulse required to applystaticfriction,
Applyingonly a single
 impulse via Equation 14 allows us to write then checks if it is in the friction cone via ~j − ~j · ~n ~n ≤
2
S T MS ∆~ q˙ = S T P k R−1~jk with the aid of Equation 19,
  
µ ~j · ~n and applies it when within this cone—otherwise apply-
which we solve for ∆~q˙ = ~
q˙ + − ~q˙ − to obtain
  ing kinetic friction. However, we have observed that the global
−1 nature of deformation in reduced deformable models means that
∆~q˙ = S T MS S T P R−1~jk = Ak R−1~jk (29) ~j · ~n can be negative even when ∆~v · ~n = K~j · ~n is posi-
k
tive. This is due to the fact that our angular momentum correc-
where Ak can be precomputed. Starting from Equation 5 for ~ x˙ k+ , tion can directly affect the angular velocity of a body in a non-
+ + intuitive way and is reminiscent of the Painlevé Paradox (see [Kauf-
we substitute Equation 25 for ~v , Equation 28 for ω ~ , and Equa-
tion 29 for ~ q˙ + to obtain man et al. 2008] for a related discussion on rigid bodies). There-
∗ fore, wemodified  the checkfrom [Guendelman et al. 2003] to be
~x˙ k+ = ~v − + ~jk /M + ω ~ − + I −1~rk∗~jk ~rk

K~j − K~j · ~n ~n ≤ µ K~j · ~n . That is, we check the mag-
h ∗ i 2
q˙ − + Ak R−1~jk − ω ~ 0− + ∆~ω 0 ~rk

+ RSk ~ (30) nitude of the resulting velocity, not the impulse. This situation illus-
trates a further problem with penalty forces, where one could apply
where the unknown change ∆~ ω 0 equals ω
~ 0+ − ω ~ 0− . Rearranging a penalty force to a node in order to make it go in a certain di-
terms and using Equation 5 to substitute in for ~ x˙ k− , we obtain rection but the resulting object deformation could instead push that
node in the opposite direction. Of course, continually applying the
~x˙ k+ = ~x˙ k− + 1/M − ~rk∗ I −1~rk∗ ~jk

force for a long enough time may eventually coax the entire object
to go in the desired direction, meaning that the penalty force can
+ RSk Ak R−1~jk + ~rk∗ ∆~
ω0 . (31) work in an unconstrained scenario. However, if the object’s motion
of exposition, assume that we are merely constraining particle i on
body a to particle k on body b, noting that we could constrain arbi-
trary points using barycentric weights (similar consideration applies
to collisions in Section 5). Post-stabilization is rather straightfor-
ward. We simply apply the impulse that results from equating ~ x˙ i+
and ~˙ +
xk using Equation 33a.
During pre-stabilization, the goal is to combat positional drift and
make the positions of the two particles identical using
   
Ra Sia ~qa + ~ a
x0,i + ~ta = Rb Skb ~qb + ~ b
x0,k + ~tb (39)

at time n + 1. Since all the terms in Equation 39 are evaluated


Figure 6: The top figure shows a reduced deformable fish with at time n + 1, we can substitute the right hand sides of Equa-
40 modes, which exhibits well-known linearized rotation artifacts tions 36, 37, and 38 to obtain
from linearized finite elements. The bottom figure shows the fish   h  
˙an+1 +~
i
segmented into four reduced deformable “bones” (shown in red, Q̂ ∆t~ωRn+1
a
Q n
a S a
i ~
qa
n
+∆t~q x a
0,i +~tan+∆t~van+1 =
yellow, green and blue) with 10 modes each and articulated. After   h   i
skinning the segmented fish along the lines of Figure 7 we obtain Q̂ ∆t~ωRn+1
b
Qn b
b Sk ~ q˙bn+1 +~
qbn+∆t~ b
x0,k +~tbn+∆t~vbn+1. (40)
the high visual fidelity shown in Figures 8 and 9.
We can then define the objective function that we want to make zero
via impulses applied to the time n + 1 velocities as
is constrained in various ways, the penalty force may not properly    
influence the object to move or deform in any intuitive way what- f~ ~j = ~tan + ∆t ~van+1 + ~j/Ma
soever and instead just adds energy to the system.  
n −1 ˆ ∗~ 0 n 
+ Q̂ ∆t ω ~ Rn+1
a
+ Ia ~
r j − ∆~ ω a Qn
a
6 Time Integration h 
n −1 ~
 i
Sia ~
qan + ∆t ~ q˙an+1 + An a

a,i (Ra ) j +~x0,i
The first step in time integration is to solve Equations 15 and 16  
in order to update the velocity and total angular momentum of the − ~tbn − ∆t ~vbn+1 − ~j/Mb
rigid frame. Then, we discretize Equation 14 as 
n −1 ˆ ∗~ 0 n 

  − Q̂ ∆t ω ~ Rn+1
b
+ Ib ~
r j − ∆~ ω b Qn
b

S T MS ~q˙ n+1 = S T MS ~q˙ n + ∆t F ~rint + F


~rext + F
~rf ict (34) h 
n −1 ~
 i
Skb ~
qbn + ∆t ~ q˙bn+1 − An b

b,k (Rb ) j +~x0,k (41)

where F ~rint and F


~rext are defined in Equations 22 and 19 respec-
where ~rˆ is defined as the world space midpoint between the two
tively. We solve for F~rint implicitly and use ~
q n+1 = ~ q n +∆t~q˙ n+1 time n positions and ω ~ 0 is defined using the time n quantities in
to obtain Equation 32. To solve this equation we use Newton iteration, and
the derivation of ∂ f~/∂~j needed for the solve follows along the lines
 
S T MS + ∆tCr + (∆t)2 Kr ~ q˙ n+1
of that provided in [Weinstein et al. 2006].
 
= S T MS ~ q˙ n − ∆tKr ~ q n + ∆t F ~rext + F
~rf ict . (35) The ability to articulate reduced deformable bodies directly allows
us to segment (or decompose) a simulation mesh into different
q˙ n+1 have been updated, we calculate
~ n+1 , and ~
Once ~v n+1 , L pieces and connect them using joints. However, since the bod-
body
0 n+1 n+1 ies can deform but cannot deform arbitrarily, there is no guarantee
ω
~ using Equation 8 and ω~R using Equation 11. We can then
proceed to update the position terms as normal

~t n+1 = ~t n + ∆t~v n+1 (36)


Qn+1 = Q̂ ∆t~ n+1  n
ωR Q (37)
~
q n+1
=~ n
q + ∆t~ q˙ n+1
(38)

where Q is a quaternion, Equation 37 represents the standard


quaternion update rule, and Rn+1 is retrieved from Qn+1 . Finally,
we update the inertia tensor to I n+1 and re-compute both ω~ 0 n+1
n+1
and ω~R . To handle collisions and contact, we use the scheme
from [Guendelman et al. 2003] in conjunction with our new equa-
tions.

7 Articulation Figure 7: Naı̈vely articulating together two reduced deformable


rods (top) produces erroneous collision with the ground. Treating
We follow [Weinstein et al. 2006] for articulating reduced de- the two bodies as “bones” of a single deformable body and skin-
formable bodies using both pre-stabilization and post-stabilization. ning them produces improved results (bottom left). Note that only
For simplicity, we will only consider point joints, but note that the the skin collides, and the simulated bodies do not interact with the
same ideas can be extended to other types of joints. For the sake environment (bottom right).
Figure 8: Twenty reduced deformable fish are dropped into an empty glass box. Each fish is actuated by three balanced forces applied on the
surface that are scaled by a unique function of time for each fish so that the fish actively flop (as seen in the video).

that all joint constraints can be satisfied. Similar to [Barbič and Our proposed skinning framework readily mixes reduced de-
Zhao 2011; Kim and James 2011], there may be discontinuities at formable bodies, rigid bodies, and standard kinematic bones.
the boundaries between articulated meshes. Our novel approach This allows an artist, for example, to replace the midsection
of reinterpreting each reduced deformable body as an abstract “de- of a traditionally animated/skinned character with one of our
formable bone” with various dynamically changing shapes allows “deformable bones” and proceed to add elastic and vibrational
us to remedy this with a straightforward skinning-based approach. modes such as “belly jiggle” or even collisions—see Figure 5.
In fact, motivated by the example-based work of [Martin et al.
2011; Schumacher et al. 2012; Coros et al. 2012] as well as
8 Skinning [Koyama et al. 2012; Koyama and Igarashi 2013], one could aug-
ment the basis with example poses sculpted by the artist (such as an
In standard skinning, one has a bone with a shape that may be a indentation caused by being hit in the stomach). Furthermore, this
function of various parameters, and we extend this to the notion of mode could be emphasized by lowering its corresponding eigen-
a “deformable bone” where a traditional kinematic bone is replaced value. Finally, the results are readily blended back in with the
by a reduced deformable model given by Equation 1. Essentially, artist’s performance for the rest of the character. Similar results
our “deformable bone” has a time-dependent shape based on simu- were achieved using a different framework in [Hahn et al. 2012].
lation, yet is similar to existing skinning bones in every other way. Although we have only considered standard linear blend skinning,
Skinning already solves the problem of how to tie multiple parts it would be quite interesting to extend our methodology to a variety
of a character together, so it is very natural to leverage skinning of other skinning models so that a large number of artist tools (and
for reduced deformable models. In addition, work on skinning has thus artists) could be impacted.
already investigated issues such as the number and placement of
bones, blending operations, linear artifacts, etc., and all this be ex- For collisions, the skin particles follow the derivation in [Sifakis
ploited in our “deformable bones” framework. et al. 2007]. For simplicity, consider a skin particle i which de-
pends on two bodies a and b. Then an impulse ~j is conservatively
Using standard rigging software, we assign standard skinning distributed to the bodies using wia~j and wib~j to obtain
weights to a surface mesh based on standard bones. Then, in a
non-standard fashion we propagate these weights into the interior
~ x˙ ia− + wia Ka~j
x˙ ia+ = ~ (43)
elements. Using a threshold, we decompose the mesh into different
subdomains of elements associated with each bone. These thresh- x˙ ib+ = ~
~ x˙ ib− + wib Kb~j. (44)
olds allow for subdomains to overlap, which means that multiple
subdomains can each replicate and incorporate elements from the The skin particle i’s new velocity is then
original simulation mesh (i.e. there is no guarantee of a unique map-    
ping from an element on the original mesh to a subdomain). Dur- x˙ is+ = ~
~ x˙ is− + wia wia Ka~j + wib wib Kb~j
ing simulation, each subdomain is simulated independently, with
the addition of about three point constraints inside overlapping re- x˙ is− + Ks~j.
=~ (45)
gions to articulate one subdomain with another. See Figure 6 for an
example decomposition. Using the new skinned particle impulse factor Ks , we can solve
directly for ~j for use in both collisions and self-collisions. See Fig-
For simplicity, we use linear blend skinning, though more complex ure 7.
xis is
methods could be used. The position of particle i on the skin ~
given by
X   Using a standard mesh simplification algorithm that can preserve
~xis = wik Rk (Sik ~
qk + ~ k
x0,i ) + ~tk (42) original particle positions (such as [Garland and Heckbert 1997]),
k we build a coarser skin proxy for use in collisions. This new mesh
contains a subset of the original skinned particles with a new topol-
where k iterates through the reduced deformable bodies that con- ogy. In this way, we use geometry to simplify the collision point set
xis , and wik is the skinning weight for
tribute to the skin position of ~ instead of finding points using existing simulation data ([Teng et al.
particle i on body k. The velocity of a skinned particle, ~ x˙ is , can be 2014]). Using a coarser collision proxy is especially useful when
calculated via Equation 3. We assume that the skinning weights for simulating reduced deformable models, where individual particles
particle i sum to one—standard practice for skinning. are not free to move on their own since the degrees of freedom are
Figure 9: Twenty-four reduced deformable fish and twelve rigid seashells are dropped onto a slightly slippery floor. After the pile settles,
a reduced deformable octopus (skinned from 50 “bones”) drops on top of the fish and seashells, eventually settling with its tentacles being
nudged by the flopping fish tails.

basis shapes. In addition to our collision proxies, we build a BD- the skinning weights from the surface onto the tetrahedral volume,
tree (see [James and Pai 2004]) on the skin for further accelerations. thresholding the weights to create a new tetrahedral volume for each
Although skinned bodies have no intrinsic reduced degrees of free- segment, and subsequently re-normalizing the weights over the en-
dom, we would like to express sphere radii in terms of ~ qk for each tire mesh. Rigid joints were created by automatically laying out
“bone” k for efficiency. Thus our radius bound of each skin sphere three point joints in a cross section of the overlapping joint region,
is defined as the maximum of its (maximum contained skinning varying the distance among the three point joints to control rigidity
weight-scaled) “bone” radii over all “bones.” This bound is poten- of the connected “deformable bones.”
tially looser than that in [James and Pai 2004]. The center updates
can be losslessly accelerated by precomputing for each body k a We focused on the algorithmic portions of our implementation and
skinning weight average of rows of Sk , ~x0,k , and ~1k corresponding as such there is much room for optimization to achieve better per-
to each sphere’s contained particles. formance, including parallelization. The timing information in Ta-
ble 2 hints at the main bottleneck in our simulations, which is the re-
9 Results and Discussion duced deformable-reduced deformable collision (and self-collision)
step. This aspect of the system could be optimized by implement-
We provide several examples to illustrate the power of our method, ing or designing alternative acceleration structures for our skinned
noting that each example uses linear finite elements (i.e. linear reduced deformable bodies, perhaps even using a standard kd-tree
elasticity and linear shape functions) with r ≤ 10 unconstrained instead of a BD-tree. The costs of our inertia tensor update and an-
eigenmodes per reduced body unless otherwise specified. Modal gular momentum correction are negligible compared to the cost of
analysis was performed on each reduced body individually; pre- collisions, but they could also be optimized similar to how [An et al.
computation times and other mesh-specific details can be found in 2008] reduced the cost of [Barbič and James 2005]. One could also
Table 1. Skeletons were created by first manually placing standard attempt less frequent updates of the inertia tensor, ignoring ficti-
bones in the rest structures of each mesh and obtaining standard lin- tious forces, and so on to increase speed at the expense of accuracy,
ear skinning weights using Pinocchio ([Baran and Popović 2007]). but doing so may introduce instabilities into the system. Our code
Segmentation into “deformable bones” was then done by mapping currently allows us to run a skinned armadillo with 30k triangles,
19k particles, 21 member “bones,” and 87 point joints with a colli-
sion proxy in the Pachinko scenario at the interactive rate of about
Linear Basis BD- # of # of 7fps on a single core of an Intel Xeon X5680 CPU.
Other
FEM Gen. Tree Bones Particles
Although we have used linear finite elements to simplify our discus-
Bunny 0.73 1.93 0.54 0.22 13 7k
sion, our method can handle non-linear materials as well via [Barbič
Domino 0.0081 0.0151 0.0016 0.0035 1 2.7k
and James 2005]. Our derivations assume a linear basis (i.e. ~ u =
Armadillo 7.60 45.26 6.20 2.02 21 74k
S~q ), so we would require modal derivatives in the basis to reason-
Armadillo ably handle non-linear materials. One could extend the ideas in this
1.14 2.63 1.76 0.39 21 19k
(Coarse) paper to even more complex subspaces, including those with mul-
Fish 0.66 1.91 0.47 0.18 4 10k tiple linear bases. We note that it is straightforward to apply our
Octopus 21.01 320.99 25.76 6.00 50 244k skinning framework to standard finite element models as well—for
example one could use a very low degree of freedom linear full
Table 1: Pre-computation times (in seconds) and complexity details space finite element model attached to a rigid frame via Equation 1
for all of our example meshes. for each ”deformable bone” (or even a very coarse nonlinear finite
# of Collision Reduced-
# of Average # of # of Points of # of # of Surface Self-
Proxy Surface Reduced
Frames Sec/Frame Bones Articulation Particles Particles Collision
Particles Collision
Bunny and 10 Dominoes 600 35.4 23 64 10k 6k - on on
Armadillo and Stairs 400 32.4 21 83 74k 36k - on on
Armadillo with Projectiles 500 4.2 21 83 74k 36k - off off
Armadillos in a Pachinko
650 0.15 21 87 19k 15k 1536 off off
Machine (Each Armadillo)
20 Fish in a Box 480 122.4 80 300 200k 116k 5600 off on
20 Fish in a Box 480 13.38 80 300 200k 116k 5600 off off
24 Fish and 12 Shells 480 81.6 96 360 240k 139k 6720 off on
Fish, Shells, and an Octopus 204 344.4 146 591 484k 240k 11762 on on

Table 2: Timing and mesh sizes for all of our examples, which were run using a single core of an Intel Xeon X5680 CPU. For the Pachinko
example, we set collision, contact, and poststabilization iterations to 1 while setting the iterative articulation tolerance to 0.1. We set collision,
contact, and poststabilization iterations to 5 and our iterative articulation tolerance to 1e-7 for all other examples.

element model). A better friction model than the one we chose to BARBI Č , J., AND JAMES , D. 2010. Subspace self-collision culling.
use could also be investigated in future work. In Proc. of ACM SIGGRAPH 2010, 81:1–81:9.

BARBI Č , J., AND Z HAO , Y. 2011. Real-time large-deformation


10 Conclusion substructuring. ACM Trans. on Graphics (SIGGRAPH 2011) 30,
4, 91:1–91:7.
We have presented a general framework for simulating reduced
deformable bodies (each may specialize to be rigid or fully de- C HOI , M. G., AND KO , H.-S. 2005. Modal warping: Real-
formable) that conserves linear and angular momentum by compen- time simulation of large rotational deformation and manipula-
sating for the often overlooked change in angular momentum due to tion. IEEE Trans. Viz. Comput. Graph. 11, 91–101.
changes in the reduced degrees of freedom. Enforcing momentum
conservation allows us to achieve plausible and stable simulations C OROS , S., M ARTIN , S., T HOMASZEWSKI , B., S CHUMACHER ,
of unconstrained bodies. We have developed a scheme for impulse- C., S UMNER , R., AND G ROSS , M. 2012. Deformable objects
based control of individual particle velocities to achieve physically alive! ACM Trans. Graph. 31, 4 (July), 69:1–69:9.
accurate collisions, contact, and point position articulation. Our
skinning of reduced deformable “bones,” when combined with ar- FAN , Y., L ITVEN , J., L EVIN , D. I. W., AND PAI , D. K. 2013.
ticulation, achieves domain decomposition and produces detailed Eulerian-on-lagrangian simulation. ACM Trans. Graph. 32, 3
and directable local deformations. (July), 22:1–22:9.

G ARLAND , M., AND H ECKBERT, P. S. 1997. Surface simpli-


11 Acknowledgements fication using quadric error metrics. In Proceedings of the 24th
Annual Conference on Computer Graphics and Interactive Tech-
R.S. thanks Tony DeRose, Mark Meyer, and Forrester Cole at Pixar niques, ACM Press/Addison-Wesley Publishing Co., New York,
Animation Studios for relevant and insightful discussions. The au- NY, USA, SIGGRAPH ’97, 209–216.
thors also thank Like Gobeawan and Zahid Hossain for their help.
R.S. was supported in part by the Department of Energy Office of G ILLES , B., B OUSQUET, G., FAURE , F., AND PAI , D. K. 2011.
Science Graduate Fellowship Program (DOE SCGF), made pos- Frame-based elastic models. ACM Trans. Graph. 30, 2 (Apr.),
sible in part by the American Recovery and Reinvestment Act of 15:1–15:12.
2009 and administered by ORISE-ORAU under contract no. DE-
AC05-06OR23100. Y.Y. was supported by a Stanford Graduate G UENDELMAN , E., B RIDSON , R., AND F EDKIW, R. 2003. Non-
Fellowship. This research was supported in part by ONR N00014- convex rigid bodies with stacking. ACM Trans. Graph. 22, 3,
13-1-0346, ONR N00014-11-1-0707, ARL AHPCRC W911NF- 871–878.
07-0027, and the Intel Science and Technology Center for Visual
H AHN , F., M ARTIN , S., T HOMASZEWSKI , B., S UMNER , R.,
Computing. Computing resources were provided in part by ONR
C OROS , S., AND G ROSS , M. 2012. Rig-space physics. ACM
N00014-05-1-0479.
Trans. Graph. 31, 4 (July), 72:1–72:8.

References H ARMON , D., AND Z ORIN , D. 2013. Subspace integration with


local deformations. ACM Trans. Graph. 32, 4 (July), 107:1–
A N , S. S., K IM , T., AND JAMES , D. L. 2008. Optimizing cuba- 107:10.
ture for efficient integration of subspace deformations. In ACM
SIGGRAPH Asia 2008 Papers, ACM, New York, NY, USA, SIG- H AUSER , K. K., S HEN , C., AND O’B RIEN , J. F. 2003. Interactive
GRAPH Asia ’08, 165:1–165:10. deformation using modal analysis with constraints. In Graph-
ics Interface, A K Peters, CIPS, Canadian Human-Computer
BARAN , I., AND P OPOVI Ć , J. 2007. Automatic rigging and ani- Commnication Society, 247–256. ISBN 1-56881-207-8, ISSN
mation of 3d characters. ACM Trans. Graph. 26, 3. 0713-5424.

BARBI Č , J., AND JAMES , D. 2005. Real-time subspace integration I DELSOHN , S. R., AND C ARDONA , A. 1985. A reduction method
of St. Venant-Kirchhoff deformable models. ACM Trans. Graph. for nonlinear structural dynamic analysis. Computer Methods in
(SIGGRAPH Proc.) 24, 3, 982–990. Applied Mechanics and Engineering 49, 3, 253 – 279.
JAMES , D., AND PAI , D. 2004. Bd-tree: Output sensitive collision rographics Association, Aire-la-Ville, Switzerland, Switzerland,
detection for reduced deformable models. ACM Trans. Graph. SCA ’12, 1–8.
(SIGGRAPH Proc.) 23, 393–398.
S HABANA , A. 2005. Dynamics of Multibody Systems. Cambridge
K AUFMAN , D., S UEDA , S., JAMES , D., AND PAI , D. 2008. Stag- University Press.
gered projections for frictional contact in multibody systems.
S IFAKIS , E., S HINAR , T., I RVING , G., AND F EDKIW, R. 2007.
ACM Transactions on Graphics (SIGGRAPH Asia 2008) 27, 5,
Hybrid simulation of deformable solids. In Proc. of ACM SIG-
164:1–164:11.
GRAPH/Eurographics Symp. on Comput. Anim., 81–90.
K AVAN , L., AND Ž ÁRA , J. 2005. Fast collision detection for T ENG , Y., OTADUY, M. A., AND K IM , T. 2014. Simulating ar-
skeletally deformable models. Computer Graphics Forum 24, 3, ticulated subspace self-contact. ACM Trans. Graph. 33, 4 (July),
363–372. 106:1–106:9.
K AVAN , L., C OLLINS , S., Ž ÁRA , J., AND O’S ULLIVAN , C. 2007. T ERZOPOULOS , D., AND W ITKIN , A. 1988. Physically based
Skinning with dual quaternions. In Proceedings of the 2007 models with rigid and deformable components. In Graph. Inter-
Symposium on Interactive 3D Graphics and Games, ACM, New face, 146–154.
York, NY, USA, I3D ’07, 39–46.
W EINSTEIN , R., T ERAN , J., AND F EDKIW, R. 2006. Dynamic
K IM , T., AND JAMES , D. L. 2011. Physics-based character skin- simulation of articulated rigid bodies with contact and collision.
ning using multi-domain subspace deformations. In Proceed- IEEE TVCG 12, 3, 365–374.
ings of the 2011 ACM SIGGRAPH/Eurographics Symposium on
Computer Animation, ACM, New York, NY, USA, SCA ’11, 63–
72.
KOYAMA , Y., AND I GARASHI , T. 2013. View-dependent control
of elastic rod simulation for 3d character animation. In Sympo-
sium on Computer Animation, ACM, J. Chai, Y. Yu, T. Kim, and
R. W. Sumner, Eds., 73–78.
KOYAMA , Y., TAKAYAMA , K., U METANI , N., AND I GARASHI ,
T. 2012. Real-time example-based elastic deformation. In Pro-
ceedings of the ACM SIGGRAPH/Eurographics Symposium on
Computer Animation, Eurographics Association, Aire-la-Ville,
Switzerland, Switzerland, SCA ’12, 19–24.
K RY, P., JAMES , D., AND PAI , D. 2002. Eigenskin: real time large
deformation character skinning in hardware. In Proc. of the ACM
SIGGRAPH Symp. on Comput. Anim., ACM Press, 153–159.
L ALL , S., K RYSL , P., AND M ARSDEN , J. E. 2003. Structure-
preserving model reduction for mechanical systems. Physica D:
Nonlinear Phenomena 184, 1, 304–318.
L EWIS , J., C ORDNER , M., AND F ONG , N. 2000. Pose space
deformations: A unified approach to shape interpolation a nd
skeleton-driven deformation. Comput. Graph. (SIGGRAPH
Proc.), 165–172.
L IU , L., Y IN , K., WANG , B., AND G UO , B. 2013. Simulation
and control of skeleton-driven soft body characters. ACM Trans.
Graph. 32, 6, 215:1–215:8.
M ARTIN , S., T HOMASZEWSKI , B., G RINSPUN , E., AND G ROSS ,
M. 2011. Example-based elastic materials. In ACM SIG-
GRAPH 2011 papers, ACM, New York, NY, USA, SIGGRAPH
’11, 72:1–72:8.
M ETAXAS , D., AND T ERZOPOULOS , D. 1992. Dynamic defor-
mation of solid primitives with constraints. In Proceedings of
the 19th annual conference on Computer graphics and interac-
tive techniques, ACM, New York, NY, USA, SIGGRAPH ’92,
309–312.
P ENTLAND , A., AND W ILLIAMS , J. 1989. Good vibrations:
modal dynamics for graphics and animation. Comput. Graph.
(Proc. SIGGRAPH 89) 23, 3, 215–222.
S CHUMACHER , C., T HOMASZEWSKI , B., C OROS , S., M ARTIN ,
S., S UMNER , R., AND G ROSS , M. 2012. Efficient simulation
of example-based materials. In Proceedings of the ACM SIG-
GRAPH/Eurographics Symposium on Computer Animation, Eu-

You might also like