According to Euler's rotation theorem, any rotation may be described
using three angles. If the rotations are written in terms of rotation matrices , , and , then a general
rotation can be written
as
 |
(1)
|
The three angles giving the three rotation matrices are called Euler angles. There are several conventions for Euler angles, depending on the axes about which the rotations
are carried out. Write the matrix as
![A=[a_(11) a_(12) a_(13); a_(21) a_(22) a_(23); a_(31) a_(32) a_(33)].](/images/equations/EulerAngles/NumberedEquation2.gif) |
(2)
|
The so-called " -convention," illustrated above,
is the most common definition. In this convention, the rotation given by Euler angles
, where the first rotation is by an
angle about the z-axis,
the second is by an angle about the x-axis, and the third is by an angle about the z-axis (again). Note, however, that
several notational conventions for the angles are in common use. Goldstein (1980,
pp. 145-148) and Landau and Lifschitz (1976) use ,
Tuma (1974) says is used in aeronautical
engineering in the analysis of space vehicles (but claims that
is used in the analysis of gyroscopic motion), while Bate et al. (1971) use
. Goldstein remarks that continental
authors usually use , and warns that left-handed
coordinate systems are also in occasional use (Osgood 1937, Margenau and Murphy 1956-64).
Varshalovich (1988, pp. 21-23) uses the notation
or to denote the Euler angles,
and gives three different angle conventions, none of which corresponds to the -convention.
Here, the notation is used, a convention
that could be used in versions of Mathematica prior to 6 as RotationMatrix3D[phi,
theta, psi] (which could be run after loading Geometry`Rotations`)
and RotateShape[g, phi, theta, psi] (which could
be run after loading Geometry`Shapes`). In the -convention, the
component rotations are then given by
so
To obtain the components of the angular velocity in the body axes, note that for
a matrix
![A=[A_1 A_2 A_3],](/images/equations/EulerAngles/NumberedEquation3.gif) |
(15)
|
it is true that
Now, corresponds to rotation about
the axis, so look at the component
of ,
![omega_phi=A_3omega_z=[sinpsisintheta; cospsisintheta; costheta]phi^..](/images/equations/EulerAngles/NumberedEquation4.gif) |
(18)
|
The line of nodes corresponds to a rotation by about the -axis, so look at the component
of ,
![omega_theta=B_1omega_xi=B_1theta^.=[cospsi; -sinpsi; 0]theta^..](/images/equations/EulerAngles/NumberedEquation5.gif) |
(19)
|
Similarly, to find rotation by about the remaining
axis, look at the component of ,
![omega_psi=B_3omega_psi=B_3psi^.=[0; 0; 1]psi^..](/images/equations/EulerAngles/NumberedEquation6.gif) |
(20)
|
Combining the pieces gives
![omega=[sinpsisinthetaphi^.+cospsitheta^.; cospsisinthetaphi^.-sinpsitheta^.; costhetaphi^.+psi^..]](/images/equations/EulerAngles/NumberedEquation7.gif) |
(21)
|
For more details, see Goldstein (1980, p. 176) and Landau and Lifschitz (1976, p. 111).
The -convention Euler angles are given in terms of the
Cayley-Klein parameters
by
In the " -convention,"
Therefore,
giving rotation matrices
and is given by
In the " (pitch-roll-yaw) convention,"
is pitch, is roll, and
is yaw.
and is given by
A set of parameters sometimes used instead of angles are the Euler parameters , , and , defined by
Using Euler parameters (which are quaternions), an arbitrary rotation matrix can be described
by
(Goldstein 1980, p. 153).
If the coordinates of two pairs of points and are known,
one rotated with respect to the other, then the Euler rotation matrix can be obtained
in a straightforward manner using least
squares fitting. Write the points as arrays of vectors, so
![[x_1^' ... x_n^']=A[x_1 ... x_n].](/images/equations/EulerAngles/NumberedEquation8.gif) |
(66)
|
Writing the arrays of vectors as matrices gives
 |
(67)
|
 |
(68)
|
and solving for gives
 |
(69)
|
However, we want the angles , , and , not their combinations
contained in the matrix . Therefore, write
the matrix
![A=[f_1(theta,phi,psi) f_2(theta,phi,psi) f_3(theta,phi,psi); f_4(theta,phi,psi) f_5(theta,phi,psi) f_6(theta,phi,psi); f_7(theta,phi,psi) f_7(theta,phi,psi) f_9(theta,phi,psi)]](/images/equations/EulerAngles/NumberedEquation12.gif) |
(70)
|
as a vector
![f=[f_1(theta,phi,psi); |; f_9(theta,phi,psi)].](/images/equations/EulerAngles/NumberedEquation13.gif) |
(71)
|
Now set up the matrices
![[(partialf_1)/(partialtheta)|_(theta_i,phi_i,psi_i) (partialf_1)/(partialphi)|_(theta_i,phi_i,psi_i) (partialf_1)/(partialpsi)|_(theta_i,phi_i,psi_i); | | |; (partialf_9)/(partialtheta)|_(theta_i,phi_i,psi_i) (partialf_9)/(partialphi)|_(theta_i,phi_i,psi_i) (partialf_9)/(partialpsi)|_(theta_i,phi_i,psi_i)][dtheta; dphi; dpsi]=df.](/images/equations/EulerAngles/NumberedEquation14.gif) |
(72)
|
Using nonlinear least squares fitting then gives solutions which converge to .
Arfken, G. Mathematical Methods for Physicists, 3rd ed. Orlando, FL:
Academic Press, pp. 198-200, 1985.
Bate, R. R.; Mueller, D. D.; and White, J. E. Fundamentals of Astrodynamics. New York: Dover, 1971.
Goldstein, H. "The Euler Angles" and "Euler Angles in Alternate Conventions." §4-4 and Appendix B in Classical Mechanics, 2nd ed. Reading, MA: Addison-Wesley,
pp. 143-148 and 606-610, 1980.
Kraus, M. "LiveGraphics3D Example: Euler Angles." http://wwwvis.informatik.uni-stuttgart.de/~kraus/LiveGraphics3D/examples/Euler.html.
Landau, L. D. and Lifschitz, E. M. Mechanics, 3rd ed. Oxford, England: Pergamon Press, 1976.
Margenau, H. and Murphy, G. M. The Mathematics of Physics and Chemistry, 2 vols. Princeton,
NJ: Van Nostrand, 1956-64.
Osgood, W. F. Mechanics. New York: Macmillan, 1937.
Tuma, J. J. Dynamics. New York: Quantum Publishers, 1974.
Varshalovich, D. A.; Moskalev, A. N.; and Khersonskii, V. K. "Description of Rotation in Terms of the Euler Angles." §1.4.1 in Quantum Theory of Angular Momentum. Singapore: World Scientific,
pp. 21-23, 1988.
|