## Info

Similarly to the two-dimensional case, this analysis requires that the final row of the original four-by-four matrix have elements 0, 0, 0, and 1.

For two-dimensional rigid-body rotations (excluding the case of pure translation), some point in space must remain fixed after transformation. This is not the case for three-dimensional rigid-body rotations. However, the underlying geometry is surprisingly simple. It turns out that any rotational three-dimensional rigid-body transformation (i.e., any rigid-

body transformation that does not consist of pure translations) can be described geometrically as a rotation around some axis in space, combined with translation along that same axis. If the translation along that axis happens to be exactly zero, points along the entire rotational axis will map to themselves. Otherwise, points along the rotational axis are translated appropriately and are completely unaffected by the rotation. The fact that the three independent rotational angles that are used to parameterize a three-dimensional rigid-body motion actually produce a single rotation is nonintuitive and can be related to the existence of a real Schur decomposition  for every real matrix. This decomposition generates a real orthonormal matrix U and a real block upper triangular matrix V with diagonal blocks no larger than 2-by-2, such that the matrix product U * V * U' is the matrix being decomposed.

For the numerical example:

results to the original coordinate system (the inverse of an orthonormal matrix is always equal to its transpose). The Schur decomposition ensures that the matrix y must always be of the form

 «11 «12 «13 «14 «21 «22 «23 «24