# Small typo in "Shape Decomposition Using Modal Analysis"

## 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: