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