Properties of the Rotation Matrix

Or, what is so special about a special orthogonal?

In case you missed it, a rotation matrix is a special orthogonal matrix. By definition, a special orthogonal matrix has these properties:

AAT = I      ( => A-1 = AT )

Where AT is the transpose of A and I is the identity matrix, and

det A = +1.

The first condition means that A is an orthogonal matrix , and the second restricts the determinant to +1 (while a general orthogonal matrix may have determinant -1 or +1).

This isn't really very helpful. A more helpful set of properties is provided by Michael E. Pique in Graphics Gems (Glassner, Academic Press, 1990):

N.B. : The rows of an orthogonal matrix are an orthonormal basis . That is, each row has length one, and are mutually perpendicular. Similarly, the columns are also an orthonormal basis. In fact, given any orthonormal basis, the matrix whose rows are that basis is an orthogonal matrix. It is automatically the case that the columns are another orthonormal basis.

  1. R is normalized: the squares of the elements in any row or column sum to 1.

  2. R is orthogonal: the dot product of any pair of rows or any pair of columns is 0.

  3. The rows of R represent the coordinates in the original space of unit vectors along the coordinate axes of the rotated space.

  4. The columns of R represent the coordinates in the rotated space of unit vectors along the axes of the original space.

Properties 1 and 2 are useful for verifying that a matrix is a rotation matrix. If you manipulate a matrix, and you want to make sure that you still have a rotation matrix, sum the squares of any row or column. If the result is not 1, then you have surely done something wrong. If the result is 1, chances are you are on the right track.

Property 4 is useful for forward motion.