Euler's theorem states that any rotation of an object in 3D space leaves some axis fixed, the rotation axis.
As a result, any rotation can be described by a vector
in the direction of
the rotation axis, and the angle of rotation,
, about
. The direction of
rotation is chosen
so that as you look in the direction of
,
the rotation
is counterclockwise about the origin for
.
The following
figure illustrates a rotation and its rotation axis.
We can use the following rotation formula for rotating a point
by an angle
, about a vector
to reach
.
This formula has a simple geometric derivation, which can be found at: http://mathworld.wolfram.com/RotationFormula.html
However the above formula can also be expressed in terms of matrices.
The corresponding rotation matrix, can be obtained in terms of and
the components of
, giving a total of 4 parameters.
The axis-angle form is usually written as a 4-vector: [].
To describe continuous rotation in time, you treat n and as
functions of time.
A simple example
Using the above formula we shall rotate the point
by angle
, around the rotation axis
, to obtain the new
point
.
Substituting these values in we have:
This figure is correct as was rotated around
the
z-axis by
, so the z co-ordinate remains constant,
whilst the new x and y co-ordinates are now perpendicular from the
old co-ordinates, as demonstrated by the dot product:
.
Disadvantages of this representation
There are three sources of redundancy with the axis-angle rotation
specification. Let R(,
)
represent a rotation
about the axis
, by angle
.