Small typo in "Shape Decomposition Using Modal Analysis"

Alec Jacobson

July 30, 2014

weblog/

Upon implementing the modal analysis part of "Shape Decomposition Using Modal Analysis" [Huang et al. 2009], I noticed a small typo in the derivation.

However, I ran into a small issue regarding the construction of matrix C in Equation 6. C_i is responsible for the quadratic terms involving c_i. Namely,

∑j_N(i) wij || c_i x (pi - pj) ||^2

The squared norm of a cross product can be written as the sum of the product of individual squared norms and the squared dot product: ||a x b||^2 = ||a||^2 ||b||^2 - (a.b)^2. Or in our case:

∑j_N(i) wij || c_i ||^2 || pi - pj ||^2 + wij (ci . (pi-pj) )^2

Now, in the 2009 paper only the latter term is included in C_i as it is equivalent to the covariance matrix (sum of outerproducts):

ci' C_i ci = ci' ( ∑j_N(i) wij (pi-pj) (pi - pj)' ) ci

where a' is the transpose of a.

C_i should also contain a diagonal term accounting for ∑j_N(i) wij || c_i ||^2 || pi - pj ||^2. This is of course easy to add to C_i.

Update: Huang replied to me with another way to rewrite the construction C_i correctly and using a notation more familiar to the original paper:

∑j wij (p_{i}-p_{j})_x (p_{i}-p_{j})_x',

where a_x is the matrix representing cross product with a and it follows that a_x a_x' = ||a||^2 - (aa').

And then it's working. Here're some modes of a cow:

cow arap eigen modes