Euler angles

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. Alternative forms were later introduced by Peter Guthrie Tait and George H. Bryan intended for use in aeronautics and engineering.
Chained rotations equivalence.
Euler angles can be defined by elemental geometry or by composition of 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 after each 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:
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.
Proper Euler angles.
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" formula_1 "Z"). Using it, the three Euler angles can be defined as follows:
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:
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:
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):
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).
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):
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 ("α" − "γ") 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:
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:
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 Peter Guthrie Tait and George H. Bryan. 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:
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.
For an aircraft, they can be obtained with three rotations around its principal axes if done in the proper order. 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:
And, since
for formula_13 we have
As formula_15 is the double projection of a unitary vector,
There is a similar construction for formula_18, projecting it first over the plane defined by the axis "z" and the line of nodes. As the angle between the planes is formula_19 and formula_20, this leads to:
and finally, using the inverse cosine function,
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:
As before,
for formula_28 we have
in a way analogous to the former one:
Looking for similar expressions to the former ones:
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 . For example, in the case of proper Euler angles:
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:
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:
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:
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).
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 . 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 "S"3, 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), formula_39, where formula_40 parametrise formula_41, 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 −1 to 1, and let .
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 formula_42 where formula_43angle of rotation, formula_44rotation axis (unitary vector) and formula_45pseudoscalar (trivector in formula_46)
Higher dimensions.
It is possible to define parameters analogous to the Euler angles in dimensions higher than three.
The number of degrees of freedom of a rotation matrix is always less than the dimension of the matrix squared. That is, the elements of a rotation matrix are not all completely independent. For example, the rotation matrix in dimension 2 has only one degree of freedom, since all four of its elements depend on a single angle of rotation. A rotation matrix in dimension 3 (which has nine elements) has three degrees of freedom, corresponding to each independent rotation, for example by its three Euler angles or a magnitude one (unit) quaternion.
In SO(4) the rotation matrix is defined by two quaternions, and is therefore 6-parametric (three degrees of freedom for every quaternion). The rotation matrices have therefore 6 out of 16 independent components.
Any set of 6 parameters that define the rotation matrix could be considered an extension of Euler angles to dimension 4.
In general, the number of euler angles in dimension D is quadratic in D; since any one rotation consists of choosing two dimensions to rotate between, the total number of rotations available in dimension formula_47 is formula_48, which for formula_49 yields formula_50.
Applications.
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.