Computer Animation Algorithms and Techniques Technical Background Orientation Rick Parent Computer Animation
Orientation Representation Rotation matrix Fixed angles: rotate about global coordinate system Euler angles: rotate about local coordinate system Axis-angle: arbitrary axis and angle Quaternions: mathematically handy axis-angle 4-tuple Exponential map: 3-tuple version of quaternions Rick Parent Computer Animation
Fixed Angles Rotate around ‘fixed’ (global) axes Y Z Fixed Angles Rotate around ‘fixed’ (global) axes Given in pre-specified order: e.g., x, y, z; also could be x, y, x Rick Parent Computer Animation
Gimbal Lock Fixed angle: e.g., x, y, z Y Y X X Z Z Rick Parent Computer Animation
Gimbal Lock Fixed order of rotations: x, y, z What do these epsilon rotations do? X Y Z Rick Parent Computer Animation
Gimbal Lock What is intermediate orientation? X Y Z X Y Z What is intermediate orientation? Interpolating FA representations does not produce intuitive rotation because of gimbal lock Rick Parent Computer Animation
Euler Angles Prescribed order: e.g., x, y, z or x, y, x Rotate around (rotated) local axes Note: fixed angles are same as Euler angles in reverse order and vice versa Rick Parent Computer Animation
Axis-Angle A Rotate about given axis Euler’s Rotation Theorem OpenGL Y Z A Rotate about given axis Euler’s Rotation Theorem OpenGL Fairly easy to interpolate between orientations Difficult to concatenate rotations Rick Parent Computer Animation
Axis-angle to rotation matrix Y Z A Concantenate the following: Rotate A around z to x-z plane Rotate A’ around y to x-axis Rotate theta around x Undo rotation around y-axis Undo rotation around z-axis Rick Parent Computer Animation
Axis-angle to rotation matrix Y Z A P P’ Rick Parent Computer Animation
Quaternion A Same as axis-angle, but different form Y Z A Same as axis-angle, but different form Still rotate about given axis Mathematically convenient form Note: in this form v is a scaled version of the given axis of rotation, A Rick Parent Computer Animation
Quaternion Arithmetic Addition Multiplication Inner Product Length Rick Parent Computer Animation
Quaternion Arithmetic Inverse Unit quaternion Rick Parent Computer Animation
Vector Represention & Transformation Rick Parent Computer Animation
Quaternion Geometric Operations Rick Parent Computer Animation
Unit Quaternion Conversions Axis-Angle Rick Parent Computer Animation
Quaternions Avoid gimbal lock Easy to rotate a point Easy to convert to a rotation matrix Easy to concatenate – quaternion multiply Easy to interpolate – interpolate 4-tuples How about smoothly (in both space and time) interpolate? Rick Parent Computer Animation