The Euler angles are three angles introduced by Leonhard Euler to describe the orientation of a rigid body. To describe such an orientation in 3-dimensional Euclidean space three parameters are required. They can be given in several ways, Euler angles being one of them; see charts on SO(3) for others. Euler angles are also used to describe the orientation of a frame of reference (typically, a coordinate system or basis) relative to another. They are typically denoted as α, β, γ, or φ, θ, ψ.
Euler angles represent a sequence of three elemental rotations, i.e. rotations about the axes of a coordinate system. For instance, a first rotation about z by an angle α, a second rotation about x by an angle β, and a last rotation again about y, by an angle γ. These rotations start from a known standard orientation. In physics, this standard initial orientation is typically represented by a motionless (fixed, global, or world) coordinate system; in linear algebra, by a standard basis.
Any orientation can be achieved by composing three elemental rotations. The elemental rotations can either occur about the axes of the fixed coordinate system (extrinsic rotations) or about the axes of a rotating coordinate system, which is initially aligned with the fixed one, and modifies its orientation after each elemental rotation (intrinsic rotations). The rotating coordinate system may be imagined to be rigidly attached to a rigid body. In this case, it is sometimes called a local coordinate system. 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:
- Euler angles (z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y)
- Tait–Bryan angles (x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-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.
- 1 Proper Euler angles
- 2 Tait–Bryan angles
- 3 Relationship with physical motions
- 4 Gimbal motion relationship
- 5 Relationship to other representations
- 6 Properties
- 7 Higher dimensions
- 8 Applications
- 9 See also
- 10 References
- 11 Bibliography
- 12 External links
Proper Euler angles
Euler angles are a means of representing the spatial orientation of any reference frame (coordinate system or basis) as a composition of three elemental rotations starting from a known standard orientation, represented by another frame (sometimes referred to as the original or fixed reference frame, or standard basis). The reference orientation can be imagined to be an initial orientation from which the frame virtually rotates to reach its actual orientation. In the following, the axes of the original frame are denoted as x,y,z and the axes of the rotated frame are denoted as X,Y,Z. In geometry and physics, the rotated coordinate system is often imagined to be rigidly attached to a rigid body. In this case, it is called a "local" coordinate system, and it is meant to represent both the position and the orientation of the body.
The geometrical definition (referred sometimes as static) of the Euler angles is based on the axes of the above-mentioned (original and rotated) reference frames and an additional axis called the line of nodes. The line of nodes (N) is defined as the intersection of the xy and the XY coordinate planes. In other words, it is a line passing through the origin of both frames, and perpendicular to the zZ plane, on which both z and Z lie. The three Euler angles are defined as follows:
- α (or ) is the angle between the x axis and the N axis.
- β (or ) is the angle between the z axis and the Z axis.
- γ (or ) is the angle between the N axis and the X axis.
This definition implies that:
- α represents a rotation around the z axis,
- β represents a rotation around the N axis,
- γ represents a rotation around the 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 α+γ.
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.
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. Unless otherwise stated, this article will use the convention described above.
The three elemental rotations may occur either about the axes xyz of the original coordinate system, which is assumed to remain motionless (extrinsic rotations), or about the axes of the rotating coordinate system XYZ, which changes its orientation after each elemental rotation (intrinsic rotations). The definition above uses intrinsic rotations.
There are six possibilities of choosing the rotation axes for proper Euler angles. In all of them, the first and third rotation axis are the same. The six possible sequences are:
- z-x’-z″ (intrinsic rotations) or z-x-z (extrinsic rotations)
- x-y’-x″ (intrinsic rotations) or x-y-x (extrinsic rotations)
- y-z’-y″ (intrinsic rotations) or y-z-y (extrinsic rotations)
- z-y’-z″ (intrinsic rotations) or z-y-z (extrinsic rotations)
- x-z’-x″ (intrinsic rotations) or x-z-x (extrinsic rotations)
- y-x’-y″ (intrinsic rotations) or y-x-y (extrinsic rotations)
Euler angles between two reference frames are defined only if both frames have the same handedness.
Signs and ranges
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:
- for α and γ, the range is defined modulo 2π radians. A valid range could be [−π, π].
- for β, the range covers π radians (but can't be said to be modulo π). For example could be [0, π] or [−π/2, π/2].
The angles α, β and γ are uniquely determined except for the singular case that the xy and the XY planes are identical, the z axis and the Z axis having 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.
The fastest way to get the Euler Angles of a given frame 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, which is more geometrical. Assuming a frame with unit vectors (X, Y, Z) as in the main diagram, it can be seen that:
As is the double projection of a unitary vector,
There is a similar construction for , projecting it first over the plane defined by the axis z and the line of nodes. As the angle between the planes is and , this leads to:
and finally, using the inverse cosine function,
It is interesting to note that the inverse cosine function yields 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):
The definitions and notations used for Tait-Bryan angles are similar to those described above for proper Euler angles (Classic definition, Alternative 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 first 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 second one, it is defined as the intersection of two non-homologous planes (perpendicular when Euler angles are zero; e.g. xy and YZ).
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 x-y-z (extrinsic rotations)
- y-z’-x″ (intrinsic rotations) or y-z-x (extrinsic rotations)
- z-x’-y″ (intrinsic rotations) or z-x-y (extrinsic rotations)
- x-z’-y″ (intrinsic rotations) or x-z-y (extrinsic rotations)
- z-y’-x″ (intrinsic rotations) or z-y-x (extrinsic rotations)
- y-x’-z″ (intrinsic rotations) or y-x-z (extrinsic rotations)
Tait-Bryan angles 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 (French: Jérôme Cardan; 24 September 1501 – 21 September 1576) who first described in detail the Cardan suspension and the Cardan joint.
They are also called heading, elevation and bank, or yaw, pitch and roll. Notice that the second set of terms is also used for the three aircraft principal axes.
Relationship with physical motions
Intrinsic rotations are elemental rotations that occur about the axes of the rotating coordinate system XYZ, which changes its 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. The Euler or Tait-Bryan angles (α, β, γ) are the amplitudes of these elemental rotations. For instance, the target orientation can be reached as follows:
- The XYZ system rotates by α about the Z axis (which coincides with the z axis). The X axis now lies on the line of nodes.
- The XYZ system rotates about the now rotated X axis by β. The Z axis is now in its final orientation, and the X axis remains on the line of nodes.
- The XYZ system rotates a third time about the new Z axis by γ.
The above-mentioned notation allows us to summarize this as follows: the three elemental rotations of the XYZ-system occur about z, x’ and z″. Indeed, this sequence is often denoted z-x’-z″. Sets of rotation axes associated with both proper Euler angles and Tait-Bryan angles are commonly named using this notation (see above for details). Sometimes, the same sequence is simply called z-x-z, Z-X-Z, or 3-1-3, but this notation may be ambiguous as it may be identical to that used for extrinsic rotations. In this case, it becomes necessary to separately specify whether the rotations are intrinsic or extrinsic.
Rotation matrices can be used to represent a sequence of intrinsic rotations. For instance,
represents a composition of intrinsic rotations about axes x-y’-z″, if used to pre-multiply column vectors, while
represents exactly the same composition when used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.
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:
- 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 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 by γ.
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).
Rotation matrices can be used to represent a sequence of extrinsic rotations. For instance,
represents a composition of extrinsic rotations about axes x-y-z, if used to pre-multiply column vectors, while
represents exactly the same composition when used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.
Conversion between intrinsic and extrinsic rotations
Any extrinsic rotation is equivalent to an intrinsic rotation by the same angles but with inverted order of elemental rotations, and vice-versa. For instance, the intrinsic rotations x-y’-z″ by angles α, β, γ are equivalent to the extrinsic rotations z-y-x by angles γ, β, α. Both are represented by a matrix
if R is used to pre-multiply column vectors, and by a matrix
if R is used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.
Gimbal motion relationship
Euler basic motions are defined as the movements obtained by changing one of the Euler angles while leaving the other two constant. Euler rotations are never 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 and the third one is an intrinsic rotation around an axis fixed in the body that moves.
These rotations are called precession, nutation, and intrinsic rotation (spin). 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. While all three are rotations when applied over individual frames, only precession is valid as a rotation operator, and only precession can be expressed in general as a matrix in the basis of the space.
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.
In these conditions, each Euler rotation works on one of the rings, independently from the rest.
The gimbal rings indicate some intermediate frames. They can be defined statically too. Taking some vectors i, j and k over the axes x, y and z, and vectors I, J, K over X, Y and Z, and a vector N over the line of nodes, some intermediate frames can be defined using the vector cross product, as following:
- origin: [i,j,k] (where k = i × j)
- first: [N,k × N,k]
- second: [N,K × N,K]
- final: [I,J,K]
These intermediate frames are equivalent to those of the gimbal. They are such that they differ from the previous one in just a single elemental rotation. This proves that:
- Any target frame can be reached from the reference frame just composing three rotations.
- The values of these three rotations are exactly the Euler angles of the target frame.
Relationship to other representations
Euler angles are one way to represent orientations. There are others, and it is possible to change to and from other conventions.
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 intrinsic rotations about axes x-y’-z″. 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:
- Each matrix is meant to operate by pre-multiplying column vectors (see Ambiguities in the definition of rotation matrices)
- 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).
- Each matrix is meant to represent the composition of intrinsic rotations (around the axes of the rotating reference frame).
- Right handed reference frames are adopted, and the right hand rule is used to determine the sign of the angles α, β, γ.
For the sake of simplicity, the following table uses the following nomenclature:
- 1, 2, 3 represent the angles α, β, γ.
- X, Y, Z are the matrices representing the elemental rotations about the axes x, y, z of the fixed frame (e.g., X1 represents a rotation about x by an angle α).
- s and c represent sine and cosine (e.g., s1 represents the sine of α).
- Each matrix is denoted by the formula used to calculate it. If , we name it .
Proper Euler angles Tait-Bryan angles
To change the formulas for the opposite direction of rotation, change the signs of the sine functions. To change the formulas for passive rotations, 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).
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.
Other representation comes from the Geometric algebra(GA). GA is a higher level abstraction, in which the quaternions are an even subalgebra. The principal tool in GA is the rotor where angle of rotation, rotation axis (unitary vector) and pseudoscalar (trivector in )
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.
The Haar measure for Euler angles has the simple form sin(β).dα.dβ.dγ, usually normalized by a factor of 1/8π².
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 β = arccos(z).
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 4×4 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 is , which for yields .
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  .
The most popular application is to describe aircraft attitudes, normally using a Tait–Bryan convention so that zero degrees elevation represents the horizontal attitude. Tait–Bryan angles represent the orientation of the aircraft respect a reference axis system (world frame) with three angles which in the context of an aircraft are normally called Heading, Elevation and Bank. When dealing with vehicles, different axes conventions are possible.
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.
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.
In materials science, crystallographic texture (or preferred orientation) can be described using Euler angles. In texture analysis, the Euler angles provide the necessary 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.
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.
- 3D projection
- Axis-angle representation
- Conversion between quaternions and Euler angles
- Euler's rotation theorem
- Quaternions and spatial rotation
- Rotation formalisms in three dimensions
- Spherical coordinate system
- Novi Commentarii academiae scientiarum Petropolitanae 20, 1776, pp. 189–207 (E478) pdf
- Mathworld does a good job describing this issue
- Gregory G. Slabaugh, Computing Euler angles from a rotation matrix
- (Italian) A generalization of Euler Angles to n-dimensional real spaces
- The relation between the Euler angles and the Cardan suspension is explained in chap. 11.7 of the following textbook: U. Krey, A. Owen, Basic Theoretical Physics – A Concise Overview, New York, London, Berlin, Heidelberg, Springer (2007) .
- Kocks, U.F.; Tomé, C.N.; Wenk, H.-R. (2000), Texture and Anisotropy: Preferred Orientations in Polycrystals and their effect on Materials Properties, Cambridge, ISBN 978-0-521-79420-6
- Bunge, H. (1993), Texture Analysis in Materials Science: Mathematical Methods, CUVILLIER VERLAG, ASIN B0014XV9HU
- Biedenharn, L. C.; Louck, J. D. (1981), Angular Momentum in Quantum Physics, Reading, MA: Addison–Wesley, ISBN 978-0-201-13507-7
- Goldstein, Herbert (1980), Classical Mechanics (2nd ed.), Reading, MA: Addison–Wesley, ISBN 978-0-201-02918-5
- Gray, Andrew (1918), A Treatise on Gyrostatics and Rotational Motion, London: Macmillan (published 2007), ISBN 978-1-4212-5592-7
- Rose, M. E. (1957), Elementary Theory of Angular Momentum, New York, NY: John Wiley & Sons (published 1995), ISBN 978-0-486-68480-2
- Symon, Keith (1971), Mechanics, Reading, MA: Addison-Wesley, ISBN 978-0-201-07392-8
- Landau, L.D.; Lifshitz, E. M. (1996), Mechanics (3rd ed.), Oxford: Butterworth-Heinemann, ISBN 978-0-7506-2896-9
|Wikimedia Commons has media related to Euler angles.|
- Weisstein, Eric W., "Euler Angles", MathWorld.
- Java applet for the simulation of Euler angles available at http://www.parallemic.org/Java/EulerAngles.html.
- EulerAngles - An iOS app for visualizing in 3D the three rotations associated with Euler angles.
- http://sourceforge.net/projects/orilib – A collection of routines for rotation / orientation manipulation, including special tools for crystal orientations.
- Online tool to compose rotation matrices available at http://www.vectoralgebra.info/eulermatrix.html