Rotations


  • Animation by repeated rotation are hard to manage: how to represent and reason about?
    • Axis-Angle
      • good for single rotations
      • hard to reason about when combined
    • Euler angle
      • good standard terminology: yaw, pitch, roll
      • easy to combine and understand
      • bad because order matters, so must decide prescribed order
      • bad because leads to gimbal lock, cannot specify certain rotations

        From GameDev.net's rotations FAQ:
      • Because the final rotation matrix depends on the order of multiplication, it is sometimes the case that the rotation in one axis will be mapped onto another rotation axis. Even worse, it may become impossible to rotate an object in a desired axis. This is called Gimbal lock. For example, assume that an object is being rotated in the order Z,Y,X and that the rotation in the Y-axis is 90 degrees. In this case, rotation in the Z-axis is performed first and therefore correctly. The Y-axis is also rotated correctly. However, after rotation in the Y axis, the X-axis is rotated onto the Z-axis. Thus, any rotation in the X-axis actually rotates the object in the Z-axis. Even worse, it becomes to rotate the object in the X-axis.
         
  • Quaternions
    • History
      • Invented in 1843 by Sir William Hamilton
      • Reinterpreted for computer graphics in 1985 by Ken Shoemake
      • Extends complex numbers from 2D to 3D
      • Provides a continuous space to represent rotations, thus avoiding problems inherent in other rotation models
    • Provides standard interpolation from one arbitrary rotation to another

References

 

Feedback?