A general reflection at the plane can be described by first rotating into some vector , then reflect at and now rotate back to . In fact, let . Then this first rotation is given by and we have
How can rotations be described by matrices? Let us first consider 2-dimensional space. The rotation by maps any vector to a normal vector of the same length. There are only two possibilities for namely , and the one with is rotation in the positive direction, i.e. counterclockwise. The matrix corresponding to this rotation is given by
rotate
*z
.
Similarly rotations around the - and around the -axes are given by
rotate
*x
and rotate
*y
.
Note that the composition of two rotations by angles and around the same center is the rotation by angle . Expressing this via the corresponding matrices gives the addition laws for and for .
All these rotation matrices (as well as arbitrary compositions of such) satisfy and , thus are special orthogonal matrices.
A general rotation around the axis spanned by the unit vector by the angle is given by considering the orthogonal frame given by , , . The length of these vectors are , , . The vector is given in this frame as
and hence |
Let be an arbitrary length preserving mapping (a so called EUCLIDEAN MOTION), i.e. for all . Up to the translation by (i.e. replacing by ) it preserves also the origin and hence for all . Furthermore by the polarization equality
Let now conversely an orthogonal -matrix be given. Then , i.e. . Let us assume first that .
Let be the set of its fixed points, i.e. the eigenspace for the eigenvalue 1. This is a linear subspace.
We show next, that . Let be the characteristic polynomial of . We have
In case its dimension is 3, we have .
In case its dimension is 2, we find a unit vector such that . Since is invariant under and is orthogonal the same is true for . Since and is an isometry we have and hence is the reflection at the plane . In fact, for all , since
Remains to consider the case, where . Then there exists a unit vector which spans . The orthogonal plane is also invariant, so is orthogonal on this plane and hence a reflection on a line in this plane or a rotation in this plane. Thus is a reflection at the plane spanned by and the reflection line of or a rotation with axis .
Therefore any orthogonal mapping on
is the composite of (at most three)
reflections. It is a rotation around some axes
by some angle iff it is a composite of two reflections.
In Pov-Ray: vaxis_rotate
.
Finally the euclidean motions are exactly of the form
, where is a rotation which is followed by the translation
.
We show next that any rotation (i.e. special orthogonal matrix) can be obtained by composing 3 of the special rotations discussed above by the so called EULER ANGLES. Consider an airplane or an hang-glider: We have the basis given by the axes of airplane: the direction from the left to the right wing, the vertical direction, and the direction from back to front.
Another decomposition into 3 rotations is given via the following
Euler-angles:
Let be a rotation and
be the images of the standard-basis.
We would like to express as composition of 3 rotations around some
coordinate-axes.
It suffices to describe the images of these rotations on the first 2 vectors
and , since
is the uniquely determined unit vector
normal to
and such that
is left oriented.
In order to rotate to we have to keep an axis fixed. In order to rotate afterwards to without destroying the assignment , we could first rotate to around and at the end rotate to around .
Andreas Kriegl 2003-07-23