Understanding quaternions

Quaternion multiplication can be applied to rotate vectors in 3-dimensions. Therefore in Computer Graphics, quaternions are sometimes used in place of matrices to represent rotations in 3-dimensions. Yet while the formal algebra of quaternions is well-known in the Graphics community, the derivations of the formulas for this algebra and the geometric principles underlying this algebra are not well understood. The goals of this paper are: i.To provide a fresh, geometric interpretation of quaternions, appropriate for contemporary Computer Graphics; ii.To derive the formula for quaternion multiplication from first principles; iii.To present better ways to visualize quaternions, and the effect of quaternion multiplication on points and vectors in 3-dimensions based on insights from the algebra and geometry of multiplication in the complex plane; iv.To develop simple, intuitive proofs of the sandwiching formulas for rotation and reflection; v.To show how to apply sandwiching to compute perspective projections. In Part I of this paper, we investigate the algebra of quaternion multiplication and focus in particular on topics i and ii. In Part II we apply our insights from Part I to analyze the geometry of quaternion multiplication with special emphasis on topics iii, iv and v.