Animating rotation with quaternion curves
Ken Shoemake
Introduces quaternion spline curves for smoothly interpolating arbitrary rotations, producing natural camera and rigid-body animation without the artifacts of earlier methods.
In three-dimensional computer animation and flight simulation, animating the orientation of cameras and solid objects traditionally relies on key-frame techniques using Euler angles. However, interpolating Euler angles independently across individual axes causes unnatural rotational motions, axis bias, and gimbal lock—a failure where a rotational degree of freedom is lost. The article addresses these fundamental shortcomings by investigating how best to represent and smoothly interpolate general three-dimensional rotations.
The article evaluates the mathematical properties of four-coordinate unit quaternions on a three-dimensional sphere and develops an automated spline-based framework to generate smooth in-between orientations for animation sequences.
To construct this solution, the article adapts Pierre Bézier’s geometric curve techniques to the non-Euclidean spherical geometry of unit quaternions. Instead of interpolating along straight Euclidean paths—which introduces artificial speed variations—the approach uses spherical linear interpolation along great circle arcs. Successive spherical Bézier curve segments are linked together using automated geometric constructions that average adjacent differences, establishing first-order continuity across joints without requiring manual parameter tuning by animators.
The investigation produced several key findings. First, unit quaternions naturally mirror the intrinsic geometry of three-dimensional rotation space, completely eliminating gimbal lock and remaining strictly independent of coordinate axis choices. Second, while basic great-arc spherical linear interpolation maintains constant rotational speed between two keys, it causes abrupt direction changes at multi-key joints; piecewise spherical Bézier curves successfully resolve this by guaranteeing first-order smooth transitions. Third, when rotation points lie along a single axis, the spherical Bézier construction simplifies into a pure, constant-speed rotation around that chosen axis. Finally, conversion between rotation matrices and quaternions is highly computationally efficient—requiring at worst one square root, three divisions, and basic arithmetic—avoiding the expensive, ill-defined inverse trigonometric evaluations necessitated by Euler angles.
These results demonstrate that quaternion-based spherical interpolation significantly enhances visual realism and algorithmic stability in animation and simulation pipelines. By automating the interpolation process, production systems can decouple internal mathematical representations from user interfaces, eliminating manual key-frame patching, reducing computation costs, and avoiding visual motion artifacts.
Animation software architects and graphics pipeline engineers should adopt unit quaternions as the standard internal representation for camera and rigid-body orientation interpolation. Future development should explore expanding this geometric framework to spherical B-splines, constructing curves parameterized by arc length to improve timing control, and addressing methods for inserting sequence points without perturbing existing curves.
The presented approach focuses strictly on rigid-body and camera rotations, offering limited applicability to planar motion or complex robotic joint linkages. Additionally, the curves lack guaranteed second-order continuity and can occasionally develop kinks between interpolated keys. Nevertheless, the underlying spherical geometry and numerical results provide high confidence in the robustness and efficiency of quaternion curves for general 3D animation.
- Paper: An Iterative Image Registration Technique with an Application to Stereo Vision, B. D. Lucas et al. (1981). Reading this foundational work on image registration and gradient-based alignment clarifies the geometric optimization techniques that underpin continuous motion estimation.
- Paper: Point Set Registration: Coherent Point Drift, Andriy Myronenko et al. (2009). This paper extends spatial alignment concepts from rigid rotation curves to probabilistic non-rigid point set registration using coherent motion drift.
