TOPICS
Search

Euler Angles


EulerAnglesXConvention

Euler angles are three angles that specify a general rotation as a product of three rotation matrices. According to Euler's rotation theorem, any rotation may be described in this way. If the rotations are written as matrices D, C, and B, then a general rotation A can be written as

 A=BCD.
(1)

The rotation matrices below describe passive rotations in a right-handed coordinate system. They act on column vectors, so x^'=Ax gives the coordinates of a fixed vector in the rotated coordinate system. The corresponding active rotation of a vector in a fixed coordinate system is described by the transpose A^T=D^TC^TB^T. In the illustrations, faint axes show the coordinate system before each rotation, while solid axes show it afterward. The yellow sector marks the angle of each rotation, and subscripts 0, 1, 2, and 3 distinguish the successive coordinate systems. There are several conventions for Euler angles, depending on the axes about which the rotations are carried out. Write the matrix A as

 A=[a_(11) a_(12) a_(13); a_(21) a_(22) a_(23); a_(31) a_(32) a_(33)].
(2)

The so-called "x-convention," illustrated above, is the most common definition. It uses successive rotations of the coordinate system about the z-, x-, and z-axes. These are intrinsic rotations, meaning that each axis moves with the coordinate system after each step. In this convention, the Euler angles (phi,theta,psi) specify

1. the first rotation is by an angle phi about the z-axis using D,

2. the second rotation is by an angle theta in [0,pi] about the x-axis after the first rotation using C, and

3. the third rotation is by an angle psi about the z-axis after the second rotation using B.

The equivalent extrinsic description uses rotations about fixed axes in the reverse order, with angles psi, theta, and phi about the z-, x-, and z-axes, respectively.

Note, however, that several notational conventions for the angles are in common use. Goldstein (1980, pp. 145-148) and Landau and Lifschitz (1976) use (phi,theta,psi), Tuma (1974) says (psi,theta,phi) is used in aeronautical engineering in the analysis of space vehicles (but claims that (phi,theta,psi) is used in the analysis of gyroscopic motion), while Bate et al. (1971) use (Omega,i,omega). Goldstein remarks that continental authors usually use (psi,theta,phi), 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 (alpha,beta,gamma) or (alpha^',beta^',gamma^') to denote the Euler angles, and gives three different angle conventions, none of which corresponds to the x-convention.

Here, the notation (phi,theta,psi) is used. In the Wolfram Language, the passive rotation matrix A is given by EulerMatrix[{-psi, -theta, -phi}, {3, 1, 3}]. The corresponding active rotation matrix A^T is given by EulerMatrix[{phi, theta, psi}, {3, 1, 3}]. To apply the passive rotation to a list of three-dimensional graphics primitives g, use GeometricTransformation[g, m], where m is the matrix A. In the x-convention, the component rotations are then given by

D=[cosphi sinphi 0; -sinphi cosphi 0; 0 0 1]
(3)
C=[1 0 0; 0 costheta sintheta; 0 -sintheta costheta]
(4)
B=[cospsi sinpsi 0; -sinpsi cospsi 0; 0 0 1],
(5)

so

a_(11)=cospsicosphi-costhetasinphisinpsi
(6)
a_(12)=cospsisinphi+costhetacosphisinpsi
(7)
a_(13)=sinpsisintheta
(8)
a_(21)=-sinpsicosphi-costhetasinphicospsi
(9)
a_(22)=-sinpsisinphi+costhetacosphicospsi
(10)
a_(23)=cospsisintheta
(11)
a_(31)=sinthetasinphi
(12)
a_(32)=-sinthetacosphi
(13)
a_(33)=costheta
(14)

When the Euler angles depend on time, overdots denote derivatives with respect to time. To obtain the components of the angular velocity omega in the body axes, note that for a matrix

 A=[A_1 A_2 A_3],
(15)

it is true that

[a_(11) a_(12) a_(13); a_(21) a_(22) a_(23); a_(31) a_(32) a_(33)][omega_x; omega_y; omega_z]=[a_(11)omega_x+a_(12)omega_y+a_(13)omega_z; a_(21)omega_x+a_(22)omega_y+a_(23)omega_z; a_(31)omega_x+a_(32)omega_y+a_(33)omega_z]
(16)
=A_1omega_x+A_2omega_y+A_3omega_z.
(17)

Now, omega_z corresponds to rotation about the phi axis, so look at the omega_z component of Aomega,

omega_phi=A_3omega_z
(18)
=[sinpsisintheta; cospsisintheta; costheta]phi^..
(19)

The line of nodes corresponds to a rotation by theta about the xi-axis, so look at the omega_xi component of Bomega,

omega_theta=B_1omega_xi
(20)
=B_1theta^.
(21)
=[cospsi; -sinpsi; 0]theta^..
(22)

Similarly, to find rotation by psi about the remaining axis, look at the omega_psi component of Bomega,

omega_psi=B_3omega_psi
(23)
=B_3psi^.
(24)
=[0; 0; 1]psi^..
(25)

Combining the pieces gives

 omega=[sinpsisinthetaphi^.+cospsitheta^.; cospsisinthetaphi^.-sinpsitheta^.; costhetaphi^.+psi^.].
(26)

For more details, see Goldstein (1980, p. 176) and Landau and Lifschitz (1976, p. 111).

The x-convention Euler angles are given in terms of the Cayley-Klein parameters by

phi=-2iln[+/-(alpha^(1/2)gamma^(1/4))/(beta^(1/4)(1+betagamma)^(1/4))],-2iln[+/-(ialpha^(1/2)gamma^(1/4))/(beta^(1/4)(1+betagamma)^(1/4))]
(27)
psi=-2iln[+/-(alpha^(1/2)beta^(1/4))/(gamma^(1/4)(1+betagamma)^(1/4))],-2iln[+/-(ialpha^(1/2)beta^(1/4))/(gamma^(1/4)(1+betagamma)^(1/4))]
(28)
theta=+/-2cos^(-1)(+/-sqrt(1+betagamma)).
(29)
EulerAnglesYConvention

The "y-convention", illustrated above, describes successive intrinsic rotations about the z-, y-, and z-axes. Its passive rotation matrix can be obtained from the x-convention by the substitutions

phi_x=phi_y+1/2pi
(30)
psi_x=psi_y-1/2pi.
(31)

Therefore,

sinphi_x=cosphi_y
(32)
cosphi_x=-sinphi_y
(33)
sinpsi_x=-cospsi_y
(34)
cospsi_x=sinpsi_y.
(35)

The component passive rotation matrices for these intrinsic rotations are

D=[cosphi sinphi 0; -sinphi cosphi 0; 0 0 1]
(36)
C=[costheta 0 -sintheta; 0 1 0; sintheta 0 costheta]
(37)
B=[cospsi sinpsi 0; -sinpsi cospsi 0; 0 0 1]
(38)

and A is given by

a_(11)=-sinpsisinphi+costhetacosphicospsi
(39)
a_(12)=sinpsicosphi+costhetasinphicospsi
(40)
a_(13)=-cospsisintheta
(41)
a_(21)=-cospsisinphi-costhetacosphisinpsi
(42)
a_(22)=cospsicosphi-costhetasinphisinpsi
(43)
a_(23)=sinpsisintheta
(44)
a_(31)=sinthetacosphi
(45)
a_(32)=sinthetasinphi
(46)
a_(33)=costheta.
(47)
EulerAnglesYawPitchRoll

In the intrinsic z-y-x (yaw-pitch-roll) convention illustrated above, phi is yaw, theta is pitch, and psi is roll. The successive rotations are about the initial z-axis, the y-axis after the first rotation, and the x-axis after the second rotation. The component passive rotation matrices are

D=[cosphi sinphi 0; -sinphi cosphi 0; 0 0 1]
(48)
C=[costheta 0 -sintheta; 0 1 0; sintheta 0 costheta]
(49)
B=[1 0 0; 0 cospsi sinpsi; 0 -sinpsi cospsi]
(50)

and A is given by

a_(11)=costhetacosphi
(51)
a_(12)=costhetasinphi
(52)
a_(13)=-sintheta
(53)
a_(21)=sinpsisinthetacosphi-cospsisinphi
(54)
a_(22)=sinpsisinthetasinphi+cospsicosphi
(55)
a_(23)=costhetasinpsi
(56)
a_(31)=cospsisinthetacosphi+sinpsisinphi
(57)
a_(32)=cospsisinthetasinphi-sinpsicosphi
(58)
a_(33)=costhetacospsi.
(59)

A set of parameters sometimes used instead of angles are the Euler parameters e_0, e_1, e_2 and e_3, defined by

e_0=cos(phi/2)
(60)
e=[e_1; e_2; e_3]=n^^sin(phi/2).
(61)

Using Euler parameters (which are quaternions), an arbitrary rotation matrix can be described by

a_(11)=e_0^2+e_1^2-e_2^2-e_3^2
(62)
a_(12)=2(e_1e_2+e_0e_3)
(63)
a_(13)=2(e_1e_3-e_0e_2)
(64)
a_(21)=2(e_1e_2-e_0e_3)
(65)
a_(22)=e_0^2-e_1^2+e_2^2-e_3^2
(66)
a_(23)=2(e_2e_3+e_0e_1)
(67)
a_(31)=2(e_1e_3+e_0e_2)
(68)
a_(32)=2(e_2e_3-e_0e_1)
(69)
a_(33)=e_0^2-e_1^2-e_2^2+e_3^2
(70)

(Goldstein 1980, p. 153).

If the coordinates of two sets of n points x_i and x_i^' are known, with one obtained exactly from the other by a rotation about the origin, then the Euler rotation matrix can be obtained using least squares fitting. Write the points as arrays of vectors, so

 [x_1^' ... x_n^']=A[x_1 ... x_n].
(71)

Writing the arrays of vectors as matrices gives

 X^'=AX
(72)
 X^'X^T=AXX^T,
(73)

If X has matrix rank 3, then XX^T is invertible, and solving for A gives

 A=X^'X^T(XX^T)^(-1).
(74)

For noisy data, this formula gives an unconstrained least squares fitting solution, which need not be a rotation matrix. A rotation matrix must be an orthogonal matrix with determinant 1. However, we want the angles theta, phi, and psi, not their combinations contained in the matrix A. Therefore, write the 3×3 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_8(theta,phi,psi) f_9(theta,phi,psi)]
(75)

as a 9×1 column vector

 f=[f_1(theta,phi,psi); |; f_9(theta,phi,psi)].
(76)

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.
(77)

These derivatives can be used in an iterative nonlinear least squares fitting procedure to estimate the angles theta, phi, and psi. Convergence depends on the initial estimates and the fitting method.


See also

Cayley-Klein Parameters, Euler Parameters, Euler's Rotation Theorem, Infinitesimal Rotation, Quaternion, Rotation, Rotation Formula, Rotation Matrix

Portions of this entry contributed by Ian Tickle

Explore with Wolfram|Alpha

References

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." https://www.martin-kraus.org/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.

Referenced on Wolfram|Alpha

Euler Angles

Cite this as:

Weisstein, Eric W., with contributions by Ian Tickle. "Euler Angles." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/EulerAngles.html

Subject classifications