Quaternions have been a popular tool in 3D computer graphics for more than 20 years. However, classical quaternions are restricted to the representation of rotations, whereas in graphical applications we typically work with rotation composed with translation (i.e., a rigid transformation). Dual quaternions represent rigid transformations in the same way as classical quaternions represent rotations. In this paper we show how to generalize established techniques for blending of rotations to include all rigid transformations. Algorithms based on dual quaternions are computationally more efficient than previous solutions and have better properties (constant speed, shortest path and coordinate invariance). For the specific example of skinning, we demonstrate that problems which required considerable research effort recently are trivial to solve using our dual quaternion formulation. However, skinning is only one application of dual quaternions, so several further promising research directions are suggested in the paper.
Links and Downloads