Euler Angles
1. NASA Standard
1.1 Rotation Matrix
Euler angles are three successive rotation angles that determine the orientation of a reference frame (x, y, z) with respect to another reference frame (xo, yo, zo). They can be defined in various ways, and the notation has not been standardized. See for example http://mathworld.wolfram.com/EulerAngles.html. The choice of Euler angles to be made in what follows is referred to in http://www.martinb.com/ as the NASA Standard Airplane convention. The orientation matrix obtained in this last reference has a sign error.
Let
and
be sets of orthonormal right-handed base vectors
corresponding to axes (x, y, z) and (xo, yo, zo),
respectively. The process of rotating
into
uses two intermediate sets of axes, having base vectors
and
, respectively. Let
b3 =
rotation angle about
bringing
into ![]()
b2 =
rotation angle about
bringing
into ![]()
b1 =
rotation angle about
bringing
into ![]()
The way in which these three angles are defined from the
geometry of given frames
and
will be dealt with after obtaining the rotation matrix
resulting from the successive application of the three rotations. We have

(1)

(2)

(3)
Substituting from (1) into (2), and from (2) into (3) yields
(4)
where
(5)
Performing the matrix product, and adopting the abbreviating notation
(c1, c2, c3) = (cos b1, cos b2, cos b3) (6)
(s1, s2, s3) = (sin b1, sin b2, sin b3) (7)
yields
(8)
The
figure shows how angles
b3,
b2,
and b1
are defined from given axes (x, y, z) and (xo, yo, zo).
Plane (y, z) intersects plane (xo, yo) along a line
oriented and labeled as axes y1 and y2. Axis z1
coincides with axis zo, and axis x1 is on the
perpendicular to axes y1 and z1, and is oriented such that
the system (x1, y1, z1) is right-handed.
Being perpendicular to axis zo, axis x1 is in the (xo,
yo) plane.
b3
is the angle of rotation about axis zo that rotates axes (xo,
yo, zo) into axes (x1, y1, z1).
Axes (x2, z2) are defined in the plane perpendicular to
axis y2, with axis x2 coinciding with the x axis.
Axes (x2, z2) and (x1, z1) are
coplanar since they are all perpendicular to the same axis
y2 or y1. b2 is the angle of rotation about axis y1 that rotates axes (x1, y1, z1) into axes (x2, y2, z2). Finally, axes (y2, z2) and (y, z) are coplanar since they are all perpendicular to the same axis x2 or x. b1 is the angle of rotation about axis x that rotates axes (x2, y2, z2) into axes (x, y, z). All rotation angles are defined according to the right-hand rule.
The preceding geometric constructions fails if plane (y, z) coincides with plane (xo, yo). In that case, axes x and zo are collinear. Two cases need to be considered
Case ![]()
If
, axes x and zo coincide, and axes xo, yo,
y, and z are coplanar. Let
b3 = rotation angle about the zo axis that brings axis yo into axis y.
Axis xo is thereby rotated into axis x1,
which is collinear with axis z, but oriented in the opposite direction. Thus,
noting that
, frame
is rotated into
. A rotation of
about the y axis by angle
b2 = -p /2 (9)
brings axis x1 into axis x, and axis z1
into axis z, thus frame
into frame
. We can apply the general results to the present case
by letting R1 be the identity matrix, and substituting
b2 = -p
/2 into the expression of R2 in Eq. (2). This yields
(10)
and
(11)
We thus obtain
(12)
Case ![]()

If
, axis x is collinear with zo and opposite in
direction, and axes xo, yo, y, and z are coplanar.
Let
b3 = rotation angle about the zo axis that brings axis yo into axis y.
Axis xo is thereby rotated into axis x1,
which coincides with axis z. Thus, noting that
, frame
is rotated into frame
. A rotation of
about the y axis by angle
b2 = p /2 (13)
brings axis x1 into axis x, and axis z1
into axis z, thus frame
into frame
. Substituting b2
= p /2 into the expression
of R2 in Eq. (2), then applying Eq.(11) yields
(14)
(15)
1.2 Angular Velocity
Let (b1,
b2,
b3) be functions of time,
and
be the corresponding angular velocity of
relative to
. The motion of
relative to
, or its absolute motion, may be considered as composed of
three relative motions:
a) the motion of
relative to
, whose angular velocity is
![]()
b) the motion of
relative to
, whose angular velocity is
![]()
c) the motion of
relative to
, whose angular velocity is
![]()
By a theorem of rigid body kinematics, the absolute angular velocity is the sum of the relative angular velocities. Thus
(16)
To obtain the components,
of
on
, we have
(17)
From (3) and (2) we have
and
. Eq. (17) turns into
(18)
or, with reference to Eqs. (3) and (4),
{1 0 0} +
{second column of R1} +
{third column of R}
From Eqs. (3) and (8),
{1 0 0} +
{0 cos b1
-sin b1} +
{-sin b2
sin b1cos
b2 cos b1cos
b2} (19)
= {
-
sin b2
cos b1+
sin b1cos
b2 -
sin b1+
cos b1cos
b2}
(19)
For the components,
of
on
, we have
(20)
or, with reference to Eqs. (4) and (1),
[first row of R] T +
[second row of R3] T +
{0 0 1}
From Eqs. (8) and (1),
{cosb2cosb3
cos b2sin
b3 -sin b2}
+
{-sinb3
cosb3 0} +
{0 0 1} (21)
= {
cosb2cos
b3 -
sin b3
cosb2sin
b3+
cos b3
-
sin b2+
} (21)
Case
: b1 = 0,
b2 = -p/2
(22)
Case
: b1 = 0,
b2 =
p/2
(23)
2. Nutation, Precession, Spin
A
traditional way of defining Euler Angles is associated with the analysis of a
body rotating about a body-fixed axis, chosen as the z axis, which is itself
rotating about a fixed axis, chosen as the zo axis. The problem
is to describe the orientation of body-fixed axes (x, y, z) with respect to
fixed axes (xo, yo, zo). An intermediate
axis x' is defined along the perpendicular to axes z and zo.
Axis x' thus lies in the (xo, yo) plane, and is also along
the intersection of the (x, y) plane with the (xo, yo)
plane. The Euler angles are:
q = angle between the z and zo axes
y = angle between the xo and x' axes
j = angle between the x' and x axes
Two intermediate sets of axes are defined by successive rotations as follows:
a) rotation about axis zo by angle y brings axes (xo, yo, zo) into axes (x1=x', y1, z1=zo).
b) rotation about axis x' by angle q brings axes (x1=x', y1, z1=zo) into axes (x', y', z').
c) rotation about axis z by angle j brings axes (x', y', z') into axes (x, y, z).
In the context of a body rotating about a body-fixed z axis, such as a top, y, q, and j are called, precession, nutation, and spin, respectively. For a fixed q, the precession describes the rotation of the axis of the top about the vertical zo axis. The nutation represents the inclination of the axis of the top with respect to the vertical, and the spin represents the rotation angle of the top about its axis.
2.1 Rotation Matrix
As before, let
and
be sets of orthonormal right-handed base vectors
corresponding to axes (x, y, z) and (xo, yo, zo),
respectively, and let
and
correspond to axes (x1=x', y1, z1=zo)
and (x', y', z'), respectively. We have


and
![]()
We obtain

2.2 Angular Velocity
The
angular velocity of the (x, y, z) frame is the sum of the intermediate relative
angular velocities, i.e.
The components of the angular velocity on the fixed axes are
![]()
Thus
![]()
or
The components on the body-fixed axes are
![]()
Thus
![]()
or
![]()
The components on the (x', y', z') axes are
![]()
Thus
![]()
or,
![]()