(G) Geometric Algebra Deformable Animation, Cutting and Tearing

Our work focuses in enhancing the state-of-the-art in skinning and handling of models. The use of quaternions and dual quaternions yielded fast results, free of interpolation problems or other geometric artifacts. Another step towards that direction is the introduction of Conformal Geometric Algebra (CGA).

In a CGA framework, all points (P), translations (T), rotations (R) and dilations (D) are described as a single entity, called multivectors.

Since the interpolation of two multivectors of type \(𝐴 \in {𝑃, 𝑇, 𝑅, 𝐷}\) yields a multivector of the same type, we acquire an easier to understand and implement interpolation algorithm without the need to constantly transmute objects of two worlds such as in the case of quaternion-matrices.

The CGA framework we implemented converts the original skinning equation to a multivector-only equivalent:

\[C_{k}[m] = \sum_{n \in I_{m}} w_{m,n}(M_{n,k}B_{n})c[m](M_{n,k}B_{n}) \star\]

where \(𝐵_{𝑛}\) amounts to an offset matrix, \(𝑐[𝑚]\) is the image of the𝑚-th vertex of the model in CGA, \(𝑤_{𝑚,𝑛}\) is the influence of the 𝑛-th bone on the 𝑚-th vertex, \(𝑀_{𝑛,𝑘}\) is the transformation of the 𝑛-th bone at time \(𝑘\), \(𝐼_{𝑚}\) is the list of bones influencing the 𝑚-th vertex and \(𝐶_{𝑘}\) [𝑚] is the image of the 𝑚-th vertex of the final model at time \(𝑘\).

The latter implementation yields animations close to the former method, while also enabling us to perform character deformable cutting and tearing. Furthermore, our engine performs animations with less intermediate keyframes, reducing bandwidth.

Click here for a detailed tutorial on Cutting, Tearing and Drilling