Euler angles

[[Image:Eulerangles.svg|right|thumb|300px|Classic Euler angles geometrical definition.

]]

The Euler angles are three angles introduced by Leonhard Euler to describe the orientation of a rigid body with respect to a fixed coordinate system.

They can also represent the orientation of a mobile frame of reference in physics or the orientation of a general basis in 3-dimensional linear algebra.

Classic Euler angles usually take the inclination angle in such a way that zero degrees represent the vertical orientation. Alternative forms were later introduced by Peter Guthrie Tait and George H. Bryan intended for use in aeronautics and engineering in which zero degrees represent the horizontal position.

Chained rotations equivalence
Euler angles can be defined by elemental geometry or by composition of rotations chained rotations. The geometrical definition demonstrates that three composed elemental rotations (rotations about the axes of a coordinate system) are always sufficient to reach any target frame.

The three elemental rotations may be extrinsic (rotations about the axes xyz of the original coordinate system, which is assumed to remain motionless), or intrinsic (rotations about the axes of the rotating coordinate system XYZ, solidary with the moving body, which changes its orientation with respect to the extrinsic frame after each elemental rotation).

In the sections below, an axis designation with a prime mark superscript (e.g., z″) denotes the new axis after an elemental rotation.

Euler angles are typically denoted as α, β, γ, or ψ, θ, φ. Different authors may use different sets of rotation axes to define Euler angles, or different names for the same angles. Therefore, any discussion employing Euler angles should always be preceded by their definition.

Without considering the possibility of using two different conventions for the definition of the rotation axes (intrinsic or extrinsic), there exist twelve possible sequences of rotation axes, divided in two groups:


 * Proper Euler angles $x, y, z$
 * Tait–Bryan angles $X, Y, Z$.

Tait–Bryan angles are also called Cardan angles; nautical angles; heading, elevation, and bank; or yaw, pitch, and roll. Sometimes, both kinds of sequences are called "Euler angles". In that case, the sequences of the first group are called proper or classic Euler angles.

Classic Euler angles
The Euler angles are three angles introduced by Swiss mathematician Leonhard Euler (1707 – 1783) to describe the orientation of a rigid body with respect to a fixed coordinate system.

Geometrical definition
The axes of the original frame are denoted as x, y, z and the axes of the rotated frame as X, Y, Z. The geometrical definition (sometimes referred to as static) begins by defining the line of nodes (N) as the intersection of the planes xy and XY (it can also be defined as the common perpendicular to the axes z and Z and then written as the vector product N = z &times; Z). Using it, the three Euler angles can be defined as follows:


 * $$\alpha$$ (or $$\varphi$$) is the signed angle between the x axis and the N axis (x-convention – it could also be defined between y and N, called y-convention).
 * $$\beta$$ (or $$\theta$$) is the angle between the z axis and the Z axis.
 * $$\gamma$$ (or $$\psi$$) is the signed angle between the N axis and the X axis (x-convention).

Euler angles between two reference frames are defined only if both frames have the same handedness.

Conventions by intrinsic rotations
Intrinsic rotations are elemental rotations that occur about the axes of a coordinate system XYZ attached to a moving body. Therefore, they change their orientation after each elemental rotation. The XYZ system rotates, while xyz is fixed. Starting with XYZ overlapping xyz, a composition of three intrinsic rotations can be used to reach any target orientation for XYZ.

Euler angles can be defined by intrinsic rotations. The rotated frame XYZ may be imagined to be initially aligned with xyz, before undergoing the three elemental rotations represented by Euler angles. Its successive orientations may be denoted as follows:


 * x-y-z or x0-y0-z0 (initial)
 * x′-y′-z′ or x1-y1-z1 (after first rotation)
 * x″-y″-z″ or x2-y2-z2 (after second rotation)
 * X-Y-Z or x3-y3-z3 (final)

For the above-listed sequence of rotations, the line of nodes N can be simply defined as the orientation of X after the first elemental rotation. Hence, N can be simply denoted x′. Moreover, since the third elemental rotation occurs about Z, it does not change the orientation of Z. Hence Z coincides with z″. This allows us to simplify the definition of the Euler angles as follows:


 * α (or φ) represents a rotation around the z axis,
 * β (or θ) represents a rotation around the x′ axis,
 * γ (or ψ) represents a rotation around the z″ axis.

Conventions by extrinsic rotations
Extrinsic rotations are elemental rotations that occur about the axes of the fixed coordinate system xyz. The XYZ system rotates, while xyz is fixed. Starting with XYZ overlapping xyz, a composition of three extrinsic rotations can be used to reach any target orientation for XYZ. The Euler or Tait–Bryan angles (α, β, γ) are the amplitudes of these elemental rotations. For instance, the target orientation can be reached as follows (note the reversed order of Euler angle application):


 * The XYZ system rotates about the z axis by γ. The X axis is now at angle γ with respect to the x axis.
 * The XYZ system rotates again, but this time about the x axis by β. The Z axis is now at angle β with respect to the z axis.
 * The XYZ system rotates a third time, about the z axis again, by angle α.

In sum, the three elemental rotations occur about z, x and z. Indeed, this sequence is often denoted z-x-z (or 3-1-3). Sets of rotation axes associated with both proper Euler angles and Tait–Bryan angles are commonly named using this notation (see above for details).

If each step of the rotation acts on the rotating coordinate system XYZ, the rotation is intrinsic (Z-X'-Z  ''). Intrinsic rotation can also be denoted 3-1-3.

Signs, ranges and conventions
Angles are commonly defined according to the right-hand rule. Namely, they have positive values when they represent a rotation that appears clockwise when looking in the positive direction of the axis, and negative values when the rotation appears counter-clockwise. The opposite convention (left hand rule) is less frequently adopted.

About the ranges (using interval notation):


 * for α and γ, the range is defined modulo 2$\pi$ radians. For instance, a valid range could be $[&minus;\pi, π]$.
 * for β, the range covers π radians (but can not be said to be modulo π). For example, it could be $[0, \pi]$ or $[&minus;\pi/2, π/2]$.

The angles α, β and γ are uniquely determined except for the singular case that the xy and the XY planes are identical, i.e. when the z axis and the Z axis have the same or opposite directions. Indeed, if the z axis and the Z axis are the same, β = 0 and only (α + γ) is uniquely defined (not the individual values), and, similarly, if the z axis and the Z axis are opposite, β = π and only (α &minus; γ) is uniquely defined (not the individual values). These ambiguities are known as gimbal lock in applications.

There are six possibilities of choosing the rotation axes for proper Euler angles. In all of them, the first and third rotation axes are the same. The six possible sequences are:
 * 1) z1-x′-z2″ (intrinsic rotations) or z2-x-z1 (extrinsic rotations)
 * 2) x1-y′-x2″ (intrinsic rotations) or x2-y-x1 (extrinsic rotations)
 * 3) y1-z′-y2″ (intrinsic rotations) or y2-z-y1 (extrinsic rotations)
 * 4) z1-y′-z2″ (intrinsic rotations) or z2-y-z1 (extrinsic rotations)
 * 5) x1-z′-x2″ (intrinsic rotations) or x2-z-x1 (extrinsic rotations)
 * 6) y1-x′-y2″ (intrinsic rotations) or y2-x-y1 (extrinsic rotations)

Precession, nutation and intrinsic rotation
Precession, nutation, and intrinsic rotation (spin) are defined as the movements obtained by changing one of the Euler angles while leaving the other two constant. These motions are not expressed in terms of the external frame, or in terms of the co-moving rotated body frame, but in a mixture. They constitute a mixed axes of rotation system, where the first angle moves the line of nodes around the external axis z, the second rotates around the line of nodes N and the third one is an intrinsic rotation around Z, an axis fixed in the body that moves.

The static definition implies that:


 * α (precession) represents a rotation around the z axis,
 * β (nutation) represents a rotation around the N or x′ axis,
 * γ (intrinsic rotation) represents a rotation around the Z or z″ axis.

If β is zero, there is no rotation about N. As a consequence, Z coincides with z, α and γ represent rotations about the same axis (z), and the final orientation can be obtained with a single rotation about z, by an angle equal to α + γ.

As an example, consider a top. The top spins around its own axis of symmetry; this corresponds to its intrinsic rotation. It also rotates around its pivotal axis, with its center of mass orbiting the pivotal axis; this rotation is a precession. Finally, the top can wobble up and down; the inclination angle is the nutation angle. The same example can be seen with the movements of the earth.

Though all three movements can be represented by a rotation operator with constant coefficients in some frame, they cannot be represented by these operators all at the same time. Given a reference frame, at most one of them will be coefficient-free. Only precession can be expressed in general as a matrix in the basis of the space without dependencies of the other angles.

These movements also behave as a gimbal set. If we suppose a set of frames, able to move each with respect to the former according to just one angle, like a gimbal, there will exist an external fixed frame, one final frame and two frames in the middle, which are called "intermediate frames". The two in the middle work as two gimbal rings that allow the last frame to reach any orientation in space.

Tait–Bryan angles


The second type of formalism is called Tait–Bryan angles, after Scottish mathematical physicist Peter Guthrie Tait (1831 – 1901) and English applied mathematician George H. Bryan (1864 – 1928). It is the convention normally used for aerospace applications, so that zero degrees elevation represents the horizontal attitude. Tait–Bryan angles represent the orientation of the aircraft with respect to the world frame. When dealing with other vehicles, different axes conventions are possible.

Definitions
The definitions and notations used for Tait–Bryan angles are similar to those described above for proper Euler angles (geometrical definition, intrinsic rotation definition, extrinsic rotation definition). The only difference is that Tait–Bryan angles represent rotations about three distinct axes (e.g. x-y-z, or x-y′-z″), while proper Euler angles use the same axis for both the first and third elemental rotations (e.g., z-x-z, or z-x′-z″).

This implies a different definition for the line of nodes in the geometrical construction. In the proper Euler angles case it was defined as the intersection between two homologous Cartesian planes (parallel when Euler angles are zero; e.g. xy and XY). In the Tait–Bryan angles case, it is defined as the intersection of two non-homologous planes (perpendicular when Euler angles are zero; e.g. xy and YZ).

Conventions


The three elemental rotations may occur either about the axes of the original coordinate system, which remains motionless (extrinsic rotations), or about the axes of the rotating coordinate system, which changes its orientation after each elemental rotation (intrinsic rotations).

There are six possibilities of choosing the rotation axes for Tait–Bryan angles. The six possible sequences are:


 * x-y′-z″ (intrinsic rotations) or z-y-x (extrinsic rotations)
 * y-z′-x″ (intrinsic rotations) or x-z-y (extrinsic rotations)
 * z-x′-y″ (intrinsic rotations) or y-x-z (extrinsic rotations)
 * x-z′-y″ (intrinsic rotations) or y-z-x (extrinsic rotations)
 * z-y′-x″ (intrinsic rotations) or x-y-z (extrinsic rotations): the intrinsic rotations are known as: yaw, pitch and roll
 * y-x′-z″ (intrinsic rotations) or z-x-y (extrinsic rotations)

Signs and ranges
Tait–Bryan convention is widely used in engineering with different purposes. There are several axes conventions in practice for choosing the mobile and fixed axes, and these conventions determine the signs of the angles. Therefore, signs must be studied in each case carefully.

The range for the angles ψ and φ covers 2π radians. For θ the range covers π radians.

Alternative names
These angles are normally taken as one in the external reference frame (heading, bearing), one in the intrinsic moving frame (bank) and one in a middle frame, representing an elevation or inclination with respect to the horizontal plane, which is equivalent to the line of nodes for this purpose.

As chained rotations
For an aircraft, they can be obtained with three rotations around its principal axes if done in the proper order and starting from a frame coincident with the reference frame.


 * A yaw will obtain the bearing,
 * a pitch will yield the elevation and
 * a roll gives the bank angle.

Therefore, in aerospace they are sometimes called yaw, pitch, and roll. Notice that this will not work if the rotations are applied in any other order or if the airplane axes start in any position non-equivalent to the reference frame.

Tait–Bryan angles, following z-y′-x″ (intrinsic rotations) convention, are also known as nautical angles, because they can be used to describe the orientation of a ship or aircraft, or Cardan angles, after the Italian mathematician and physicist Gerolamo Cardano, who first described in detail the Cardan suspension and the Cardan joint.

Angles of a given frame
A common problem is to find the Euler angles of a given frame. The fastest way to get them is to write the three given vectors as columns of a matrix and compare it with the expression of the theoretical matrix (see later table of matrices). Hence the three Euler Angles can be calculated. Nevertheless, the same result can be reached avoiding matrix algebra and using only elemental geometry. Here we present the results for the two most commonly used conventions: ZXZ for proper Euler angles and ZYX for Tait–Bryan. Notice that any other convention can be obtained just changing the name of the axes.

Proper Euler angles
Assuming a frame with unit vectors (X, Y, Z) given by their coordinates as in the main diagram, it can be seen that:


 * $$\cos (\beta) = Z_3.$$

And, since
 * $$\sin^2 x = 1 - \cos^2 x,$$

for $$ 0<x<\pi $$ we have
 * $$\sin (\beta) = \sqrt {1 - Z_3^2}.$$

As $$Z_2$$ is the double projection of a unitary vector,
 * $$\cos(\alpha) \cdot \sin(\beta) = -Z_2,$$
 * $$\cos(\alpha) = -Z_2 / \sqrt{1 - Z_3^2}.$$

There is a similar construction for $$Y_3$$, projecting it first over the plane defined by the axis z and the line of nodes. As the angle between the planes is $$\pi/2 - \beta$$ and $$\cos(\pi/2 - \beta) = \sin(\beta)$$, this leads to:


 * $$\sin(\beta) \cdot \cos(\gamma) = Y_3,$$
 * $$\cos(\gamma) = Y_3 / \sqrt{1 - Z_3^2},$$

and finally, using the inverse cosine function,


 * $$\alpha = \arccos\left(-Z_2 / \sqrt{1 - Z_3^2}\right),$$
 * $$\beta = \arccos\left(Z_3\right),$$
 * $$\gamma = \arccos\left(Y_3 / \sqrt{1 - Z_3^2}\right).$$

Tait–Bryan angles


Assuming a frame with unit vectors (X, Y, Z) given by their coordinates as in this new diagram (notice that the angle theta is negative), it can be seen that:


 * $$\sin (\theta) = -X_3$$

As before,
 * $$\cos^2 x = 1 - \sin^2 x,$$

for $$ -\pi/2<x<\pi/2 $$ we have
 * $$\cos (\theta) = \sqrt {1 - X_3^2}.$$

in a way analogous to the former one:


 * $$\sin(\psi) = X_2 / \sqrt{1 - X_3^2}.$$
 * $$\sin(\phi) = Y_3 / \sqrt{1 - X_3^2}.$$

Looking for similar expressions to the former ones:


 * $$\psi = \arcsin\left(X_2 / \sqrt{1 - X_3^2}\right),$$
 * $$\theta = \arcsin(-X_3),$$
 * $$\phi = \arcsin\left(Y_3 / \sqrt{1 - X_3^2}\right).$$

Last remarks
Note that the inverse sine and cosine functions yield two possible values for the argument. In this geometrical description, only one of the solutions is valid. When Euler angles are defined as a sequence of rotations, all the solutions can be valid, but there will be only one inside the angle ranges. This is because the sequence of rotations to reach the target frame is not unique if the ranges are not previously defined.

For computational purposes, it may be useful to represent the angles using atan2(y, x). For example, in the case of proper Euler angles:


 * $$\alpha = \operatorname{atan2}(Z_1, -Z_2),$$
 * $$\gamma = \operatorname{atan2}(X_3, Y_3).$$

Conversion to other orientation representations
Euler angles are one way to represent orientations. There are others, and it is possible to change to and from other conventions. Three parameters are always required to describe orientations in a 3-dimensional Euclidean space. They can be given in several ways, Euler angles being one of them; see charts on SO(3) for others.

The most used orientation representation are the rotation matrices, the axis-angle and the quaternions, also known as Euler–Rodrigues parameters, which provide another mechanism for representing 3D rotations. This is equivalent to the special unitary group description.

Expressing rotations in 3D as unit quaternions instead of matrices has some advantages:


 * Concatenating rotations is computationally faster and numerically more stable.
 * Extracting the angle and axis of rotation is simpler.
 * Interpolation is more straightforward. See for example slerp.
 * Quaternions do not suffer from gimbal lock as Euler angles do.

Regardless, the rotation matrix calculation is the first step for obtaining the other two representations.

Rotation matrix
Any orientation can be achieved by composing three elemental rotations, starting from a known standard orientation. Equivalently, any rotation matrix R can be decomposed as a product of three elemental rotation matrices. For instance: $$R = X(\alpha) Y(\beta) Z(\gamma)$$ is a rotation matrix that may be used to represent a composition of extrinsic rotations about axes z, y, x, (in that order), or a composition of intrinsic rotations about axes x-y′-z″ (in that order). However, both the definition of the elemental rotation matrices X, Y, Z, and their multiplication order depend on the choices taken by the user about the definition of both rotation matrices and Euler angles (see, for instance, Ambiguities in the definition of rotation matrices). Unfortunately, different sets of conventions are adopted by users in different contexts. The following table was built according to this set of conventions:

For the sake of simplicity, the following table of matrix products uses the following nomenclature:
 * 1) Each matrix is meant to operate by pre-multiplying column vectors $\begin{bmatrix} x \\ y \\ z \end{bmatrix}$  (see Ambiguities in the definition of rotation matrices)
 * 2) Each matrix is meant to represent an active rotation (the composing and composed matrices are supposed to act on the coordinates of vectors defined in the initial fixed reference frame and give as a result the coordinates of a rotated vector defined in the same reference frame).
 * 3) Each matrix is meant to represent, primarily, a composition of intrinsic rotations (around the axes of the rotating reference frame) and, secondarily, the composition of three extrinsic rotations (which corresponds to the constructive evaluation of the R matrix by the multiplication of three truly elemental matrices, in reverse order).
 * 4) Right handed reference frames are adopted, and the right hand rule is used to determine the sign of the angles α, β, γ.
 * 1) X, Y, Z are the matrices representing the elemental rotations about the axes x, y, z of the fixed frame (e.g., Xα represents a rotation about x by an angle α).
 * 2) s and c represent sine and cosine (e.g., sα represents the sine of α).

These tabular results are available in numerous textbooks. For each column the last row constitutes the most commonly used convention.

To change the formulas for passive rotations (or find reverse active rotation), transpose the matrices (then each matrix transforms the initial coordinates of a vector remaining fixed to the coordinates of the same vector measured in the rotated reference system; same rotation axis, same angles, but now the coordinate system rotates, rather than the vector).

The following table contains formulas for angles α, β and γ from elements of a rotation matrix $$R$$.

Properties
The Euler angles form a chart on all of SO(3), the special orthogonal group of rotations in 3D space. The chart is smooth except for a polar coordinate style singularity along β = 0. See charts on SO(3) for a more complete treatment.

The space of rotations is called in general "The Hypersphere of rotations", though this is a misnomer: the group Spin(3) is isometric to the hypersphere S3, but the rotation space SO(3) is instead isometric to the real projective space RP3 which is a 2-fold quotient space of the hypersphere. This 2-to-1 ambiguity is the mathematical origin of spin in physics.

A similar three angle decomposition applies to SU(2), the special unitary group of rotations in complex 2D space, with the difference that β ranges from 0 to 2π. These are also called Euler angles.

The Haar measure for SO(3) in Euler angles is given by the Hopf angle parametrisation of SO(3), $$\textrm{d}V \propto \sin \beta \cdot \textrm{d}\alpha \cdot \textrm{d}\beta \cdot \textrm{d}\gamma$$, where $$(\beta, \alpha)$$ parametrise $$S^{2}$$, the space of rotation axes.

For example, to generate uniformly randomized orientations, let α and γ be uniform from 0 to 2π, let z be uniform from &minus;1 to 1, and let β = arccos(z).

Geometric algebra
Other properties of Euler angles and rotations in general can be found from the geometric algebra, a higher level abstraction, in which the quaternions are an even subalgebra. The principal tool in geometric algebra is the rotor $$ \mathbf{R} = [ \cos(\theta / 2) - I u \sin(\theta / 2) ] $$ where $$\theta =$$angle of rotation, $$\mathbf{u} $$ is the rotation axis (unitary vector) and $$\mathbf{I}$$ is the pseudoscalar (trivector in $$\mathbb{R}^3$$)

Higher dimensions
It is possible to define parameters analogous to the Euler angles in dimensions higher than three. In four dimensions and above, the concept of "rotation about an axis" loses meaning and instead becomes "rotation in a plane." The number of Euler angles needed to represent the group $N$ is $(z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y)$, equal to the number of planes containing two distinct coordinate axes in n-dimensional Euclidean space.

In SO(4) a rotation matrix is defined by two unit quaternions, and therefore has six degrees of freedom, three from each quaternion.

Vehicles and moving frames
Their main advantage over other orientation descriptions is that they are directly measurable from a gimbal mounted in a vehicle. As gyroscopes keep their rotation axis constant, angles measured in a gyro frame are equivalent to angles measured in the lab frame. Therefore, gyros are used to know the actual orientation of moving spacecraft, and Euler angles are directly measurable. Intrinsic rotation angle cannot be read from a single gimbal, so there has to be more than one gimbal in a spacecraft. Normally there are at least three for redundancy. There is also a relation to the well-known gimbal lock problem of mechanical engineering.

When studying rigid bodies in general, one calls the xyz system space coordinates, and the XYZ system body coordinates. The space coordinates are treated as unmoving, while the body coordinates are considered embedded in the moving body. Calculations involving acceleration, angular acceleration, angular velocity, angular momentum, and kinetic energy are often easiest in body coordinates, because then the moment of inertia tensor does not change in time. If one also diagonalizes the rigid body's moment of inertia tensor (with nine components, six of which are independent), then one has a set of coordinates (called the principal axes) in which the moment of inertia tensor has only three components.

The angular velocity of a rigid body takes a simple form using Euler angles in the moving frame. Also the Euler's rigid body equations are simpler because the inertia tensor is constant in that frame.

Crystallographic texture
In materials science, crystallographic texture (or preferred orientation) can be described using Euler angles. In texture analysis, the Euler angles provide a mathematical depiction of the orientation of individual crystallites within a polycrystalline material, allowing for the quantitative description of the macroscopic material. The most common definition of the angles is due to Bunge and corresponds to the ZXZ convention. It is important to note, however, that the application generally involves axis transformations of tensor quantities, i.e. passive rotations. Thus the matrix that corresponds to the Bunge Euler angles is the transpose of that shown in the table above.

Others
Euler angles, normally in the Tait–Bryan convention, are also used in robotics for speaking about the degrees of freedom of a wrist. They are also used in electronic stability control in a similar way.

Gun fire control systems require corrections to gun-order angles (bearing and elevation) to compensate for deck tilt (pitch and roll). In traditional systems, a stabilizing gyroscope with a vertical spin axis corrects for deck tilt, and stabilizes the optical sights and radar antenna. However, gun barrels point in a direction different from the line of sight to the target, to anticipate target movement and fall of the projectile due to gravity, among other factors. Gun mounts roll and pitch with the deck plane, but also require stabilization. Gun orders include angles computed from the vertical gyro data, and those computations involve Euler angles.

Euler angles are also used extensively in the quantum mechanics of angular momentum. In quantum mechanics, explicit descriptions of the representations of SO(3) are very important for calculations, and almost all the work has been done using Euler angles. In the early history of quantum mechanics, when physicists and chemists had a sharply negative reaction towards abstract group theoretic methods (called the Gruppenpest), reliance on Euler angles was also essential for basic theoretical work.

Many mobile computing devices contain accelerometers which can determine these devices' Euler angles with respect to the earth's gravitational attraction. These are used in applications such as games, bubble level simulations, and kaleidoscopes.

Computer graphics libraries like three.js use them to point the camera