• No results found

In order to use a reduced model with dynamic morph targets, as described in Sec- tion 5.1.4, one needs to choose an appropriate reduced subspace. In this section, I describe what entails a ‘good’ subspace, and I propose to construct a subspace that is

aware of the morph targets.

In the reduced model, the displacement vector u is expressed as u = Uq, where

U ∈ R(3n,r) is the displacement basis matrix, and q

Rr is the vector of reduced displacement coordinates. Here, U is a time-independent matrix specifying a basis of

(a) (b)

(c) (d)

Figure 5.2: When under influence of dynamic events such as jumping from a diving board or bouncing off a wall, our method using morph targets produces deformations consistent with Herbert’s morph targets defined in (a). The fat

morph target is associated with a crunched pose to mimic a bulging belly (and only for that pose). As shown in (b), the simulation without dynamic morph targets does not show bulging, whereas our method shown in (c) does.

some r-dimensional (r << 3n) linear subspace of R3n. There is an infinite number

of possible choices for this subspace and its basis, but ideally one would want a low- dimensional space that well-approximates the space of nonlinear deformations near the input poses.

For each of the dynamic morph targets, I employ linear modal analysis (LMA), which provides the best deformation basis for small deformations away from the rest configuration. Intuitively, modal basis vectors are directions into which the model can be pushed with the smallest possible increase in elastic strain energy. To find the modal basis vectors Ui, I solve the following symmetric generalized eigenproblem (for a small

number k of eigenvectors)

K(x0i)Ui =MUiΛi, (5.9)

with Λp the diagonal eigenvalue matrix with the ki << 3n eigenvalues 0 < λi1 < λi2 <

. . . < λi

k. The stiffness matrix K = ∂R(x)

∂x is evaluated at x

0

i, the rest configuration for

input pose i, which defines a ‘goal’ deformation for the input poses. Note that at this point, one could easily add modal derivatives, as in [BJ05].

In the next step, we have to combine the basis matricesUi into a global basis matrix U. We have taken into account three requirements when choosing the basis.

1. Avoid redundancy in the basis set, i.e. find an orthogonal set that is as compact as possible.

2. The characteristic deformations of all the morph targets have to be well repre- sented.

3. The input deformations of each of the dynamic morph targets have to be well represented in the reduced space, otherwise the sculpted deformations cannot be simulated. In other words, the basis has to beaware of the morph targets.

The most straight forward approach is to combine all eigenvectors together as U= U1 U2 . . . Um ,

and orthogonalize them (each set of eigenvectors Ui is orthogonal, but eigenvectors be- tween different sets are not). This approach takes care of the second requirement, but results in a large set of eigenmodes with relatively small contributions for many eigen- modes, because all the common first deformation modes (such as stretch, shear, . . . ) are represented in each of the Ui. Instead, similar to [BJ05], one can construct a low-

dimensional motion subspace by applying mass-PCA. The derivatives are scaled accord- ing to the eigenvalues of the corresponding linear modes. Namely, the low-dimensional deformation basis is obtained by applying mass-PCA on the set of vectors

{λ i 1 λi j Uji | i= 1, . . . , m;j = 1, . . . , ki}. (5.10)

The first r? principal modes are selected to form the basis U?. Scaling is necessary to put greater weight on the more important low-frequency modes, which would otherwise be masked by high-frequency modes. In case the eigenmodes in different poses show large variance, one can adapt the normalization factor such that the eigenvectors are normalized across morph targets, by replacing the scaling factor by λi1

λi kλij

.

Finally, to make the basis aware of the morph targets, I add m−1 rest pose defor- mations{x0p|i= 2, . . . , m}to the setU? and re-mass-orthogonalize the set {U?i} ∪ {x0p}

into the final basis U ∈ R3n×r with r = (r?+m1). Figure 5.3 illustrates the entire

Object pose geometries and material properties

Linear Modal Analysis (LMA)

U1 U* U Mass-PCA Mass-orthogonalization Pre-compute StVK polynomials r k x0 i U2 U3

Figure 5.3: Construction of a morph target driven, mass-orthogonal reduction basis U: For each dynamic morph targeti, during LMA thersmallest eigenmodes are selected to construct eigenbases Ui. Mass-PCA combines and

compacts theUi, retaining onlyk most significant modes. Finally, I explicitly add

morph target deformations x0

i to the eigenbasis and guarantee mass-orthogonality

of the final basis U.