Euler angles
The Euler angles were developed by Leonhard Euler to describe the orientation of a rigid body (a body in which the relative position of all its points is constant) in 3-dimensional Euclidean space. To give an object a specific orientation it may be subjected to a sequence of three rotations described by the Euler angles. This is equivalent to saying that a rotation matrix can be decomposed as a product of three elemental rotations.
Definition
Euler angles are a means of representing the spatial orientation of any frame of reference (coordinate system) as a composition of rotations from a reference frame of reference (coordinate system). In the following the fixed system is denoted in lower case (x,y,z) and the rotated system is denoted in upper case letters (X,Y,Z).
The definition is Static. The intersection of the xy and the XY coordinate planes is called the line of nodes (N).
- α is the angle between the x-axis and the line of nodes.
- β is the angle between the z-axis and the Z-axis.
- γ is the angle between the line of nodes and the X-axis.
Euler angles are one of several ways of specifying the relative orientation of two such coordinate systems. Moreover, different authors may use different sets of angles to describe these orientations, or different names for the same angles, leading to different conventions. Therefore any discussion employing Euler angles should always be preceded by their definition[1].
Unless otherwise stated, this article will use the convention described in the adjacent drawing, usually named Z-X-Z.
Angles signs and ranges
Normally, angles are defined in such a way that they are positive when they rotate counter-clock-wise (they will not rotate the same way regardless which side of the rotation plane we observe them from. The positive side will be the one of the positive axis of rotation)
About the ranges:
- α and γ range are defined modulo 2π radians. A valid range could be [-π, π).
- β 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.
Relationship with physical motions
Euler rotations
Euler rotations are defined as the movement 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. They satisfy the following remarkable property: Write the rotation about the given angles as a composition
of a precession, a nutation and a rotation. Then, the following properties hold true
As consequence of this property, Euler rotations are commutative among them; that is, given any frame, after performing over it any sequence of these rotations yields the same result, regardless of their order. For example, it is the same to perform a precession followed by a nutation , as - instead - to perform the nutation followed by the precession . This can be shown from the former equations:
This restricted commutativity can be easily seen using the analogy of the gimbal. The same applies for any combination of all three rotations. Nevertheless these three rotations cannot be said to be a commutative subgroup into the set of rotations, because normally only fixed-axis rotations are considered in this group.
Euler angles as composition of Euler rotations. Gimbal analogy
Intermediate frames: 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 x j)
- first: [N,kxN,k]
- second: [N,KxN,K]
- final: [I,J,K]
These intermediate frames 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.
Gimbal analogy: If we suppose a set of frames, able to move each respect the former just one angle, like a gimbal, there will be one initial, one final and two 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.
Euler angles as composition of Euler rotations: When these rotations are performed on a frame whose Euler angles are all zero, the rotating XYZ system starts coincident with the fixed xyz system. The first rotation is performed around z (which is parallel to Z), the second around the line of nodes N (which at this point is over X), and the third around Z. In fact, the order in this case does not matter, the former rotations being commutative.
Euler angles as composition of intrinsic rotations
Starting with an initial set of reference axes, say XYZ, a composition of three intrinsic rotations can be used to reach any target frame with an origin coincident with that of XYZ from the reference frame. The value of the rotations are the Euler Angles.
Given two coordinate systems xyz and XYZ with common origin, starting with the axis z and Z overlapping, the position of the second can be specified in terms of the first using three rotations with angles α, β, γ in three ways equivalent to the former definition, as follows:
The XYZ system is fixed while the xyz system rotates. Starting with the xyz system coinciding with the XYZ system, the same rotations as before can be performed using only rotations around the moving axis.
- Rotate the xyz-system about the z-axis by α. The x-axis now lies on the line of nodes.
- Rotate the xyz-system again 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.
- Rotate the xyz-system a third time about the new z-axis by γ.
This equivalence is normally used to name conventions.
Euler angles as composition of extrinsic rotations
Also composition of rotations in the reference frame can be used to reach any target frame. Let xyz system be fixed while the XYZ system rotates. Start with the rotating XYZ system coinciding with the fixed xyz system.
- Rotate the XYZ-system about the z-axis by γ. The X-axis is now at angle γ with respect to the x-axis.
- Rotate the XYZ-system again about the x-axis by β. The Z-axis is now at angle β with respect to the z-axis.
- Rotate the XYZ-system a third time about the z-axis by α. The first and third axes are identical.
This can be shown to be equivalent to the previous statement:
Let x(φ) and z(φ) denote the rotations of angle φ about the x-axis and z-axis, respectively. In the moving axes description, let Z(φ)=z(φ), X′(φ) be the rotation of angle φ about the once-rotated X-axis, and let Z″(φ) be the rotation of angle φ about the twice-rotated Z-axis. Then:
- Z″(α)oX′(β)oZ(γ) = [ (X′(β)z(γ)) o z(α) o (X′(β)z(γ))−1 ] o X′(β) o z(γ)
- = [ {z(γ)x(β)z(−γ) z(γ)} o z(α) o {z(−γ) z(γ)x(−β)z(−γ)} ] o [ z(γ)x(β)z(−γ) ] o z(γ)
- = z(γ)x(β)z(α)x(−β)x(β) = z(γ)x(β)z(α) .
Composing rotations about fixed axes is to multiply our orientation matrix by the left. Composing rotations about the moving axes is to multiply the orientation matrix by the right. Both methods will lead to the same final decomposition. If M = A.B.C is the orientation matrix (the components of the frame to be described in the reference frame), it can be reached from composing C, B and A at the left of I (identity, reference frame on itself), or composing A, B and C at the right of I. Both ways ABC is obtained.
Again, this kind of compositions is non-commutative.
Other conventions
There are 12 possible conventions regarding the Euler angles in use. The above description works for the z-x-z form. Similar conventions are obtained by selecting different axes (zyz, xyx, xzx, yzy, yxy). There are six possible combinations of this kind, and all of them behave in an identical way to the one described before.
A second kind of conventions is with the three rotation matrices with a different axis. z-y-x for example. There are also six possibilities of this kind (xyz, xzy, zxy, zyx, yzx, yxz). They behave slightly differently. In the zyx case, the two first rotations determine the line of nodes and the axis x, and the third rotation is around x.
The first convention (zxz) is properly known as Euler angles and the second one is known sometimes as Nautical angles, Cardan angles, Tait-Bryan angles or yaw, pitch and roll. They are defined using as line of nodes the intersection of two non-homologous planes (for example XZ and xz are homologous while XZ and xy are not), unlike proper Euler angles[2].
Aviators and aerospace engineers, when referring to rotations about a moving body principal axes, often call these "yaw, pitch and roll".
Naming conventions
The previous intrinsic rotations equivalence is normally used to name the possible conventions of Euler Angles. If we are told that some angles are given using the convention Z-X-Z, this means that they are equivalent to three concatenated intrinsic rotations around the axes Z, X and Z in that order. This composition is non-commutative. It has to be applied in such a way that in the beginning one of the intrinsic axis moves together with the line of nodes.
Nevertheless, sometimes the extrinsic rotations equivalence could be used. If this is the case, the given angles are backwards, meaning that the first angle is the intrinsic rotation and the last one the precesion. The name of the convention would be indistinguishable from the previous one, even if the angles' order is the opposite, being something like Z-X-Z.
To specify that the given order means intrinsic composition, sometimes a similar notation is used, but stating explicitly which rotation axis are different for each step, as in Z-X’-Z’’. Using this notation, Z-X-Z would mean extrinsic composition.
For Tait-Bryan angles, also intrinsic and extrinsic conventions can be used, giving therefore two meanings for every convention name. For example, X-Y-Z, using intrinsic convention, means that a X-rotation is performed, composing intrinsic rotations Y and Z later, but using extrinsic convention means that after the X rotation, extrinsic rotations Y and Z are performed. The meaning is different in both cases.
The static parameters of the convention can be calculated from the name. For example, given the convention X-Y’-Z’’, the first rotation is perpendicular to "x" and the last one to "Z". Therefore the planes are the yz and the XY, and the line of nodes is the intersection of these two.
Matrix notation
As consequence of the relationship between Euler angles and Euler rotations, we can find a Matrix expression for any frame given its Euler angles, here named as , , and . Using the z-x-z convention, a matrix can be constructed that transforms every vector of the given reference frame in the corresponding vector of the referred frame.
Define three sets of coordinate axes, called intermediate frames with their origin in common in such a way that each one of them differs from the previous frame in an elemental rotation, as if they were mounted on a gimbal. In these conditions, any target can be reached performing three simple rotations, because two first rotations determine the new Z axis and the third rotation will obtain all the orientation possibilities that this Z axis allows. These frames could also be defined statically using the reference frame, the referred frame and the line of nodes.
A matrix representing the end result of all three rotations is formed by successive multiplication of the matrices representing the three simple rotations, as in the following transformation equation
where
- The leftmost matrix represents a rotation around the axis ' z ' of the original reference frame
- The middle matrix represents a rotation around an intermediate ' x ' axis which is the "line of nodes".
- The rightmost matrix represents a rotation around the axis ' Z ' of the final reference frame
Carrying out the matrix multiplication, and abbreviating the sine and cosine functions as s and c, respectively, results in
Table of matrices
The following matrices assume fixed (world) axes and column vectors, with rotations acting on objects rather than on reference frames. A matrix like that for xzy is constructed as a product of three matrices, Rot(y,θ3)Rot(z,θ2)Rot(x,θ1). To obtain a matrix for the same axis order but with referred frame (body) axes, use the matrix for yzx with θ1 and θ3 swapped. In the matrices, c1 represents cos(θ1), s1 represents sin(θ1), and similarly for the other subscripts.
xzx xzy xyx xyz yxy yxz yzy yzx zyz zyx zxz zxy
Matrix expression for Euler rotations
As a precession is equivalent to a rotation from the reference frame, both are equivalent to a left-multiplication. We can perform a precession of a given frame 'F' with just the product R.F, where R is the rotation matrix for the angle we want to rotate. In a similar way, we can perform an intrinsic rotation with a right multiplication of the matrix of the frame. Nevertheless for nutation rotations we cannot use directly the matrix of the rotation we want to perform. We first have to perform a change of basis.
As a rotation is a Linear operator and its matrix is known in the rotated frame, it can be put back into the reference frame as , being B the matrix of the basis in which R is known. As rotations are orthonormal, and therefore, the matrix of a nutation in the reference frame is:
The same can be applied to the intrinsic rotation. Being R the intrinsic rotation matrix in the twice-rotated frame, it can be taken back to lab frame as , where B=P.N is the basis of the reference frame after precesion and nutation and :
Derivation of the Euler angles of a given frame
The fastest way to get the Euler Angles of a frame is to write the three given vectors as columns of a matrix and compare it with the expression of the theoretical matrix (see former table of matrices). Hence the three Euler Angles can be calculated.
Nevertheless, the same result can be reached avoiding matrix calculus, which is more geometrical. Given a frame (X, Y, Z) expressed in coordinates of the reference frame (x, y, z), its Euler Angles can be calculated searching for the angles that rotate the unit vectors (x,y,z) to the unit vectors (X,Y,Z)
The inner product between the unit vectors z and Z is
and the cross product vector
has the magnitude
Therefore,
where, in general, arg(u,v) is the polar argument of the vector (u,v), taking values in the range [-π < arg(u,v) < π].
If is parallel or antiparallel to (where β=0 or β=π, respectively), it is a singular case for which and are not individually defined. If this is not the case, is non-zero and has the same direction as the unit vector of the figure above. Therefore,
For the numerical computation of arg(u,v), the standard function ATAN2(v,u) (or in double precision DATAN2(v,u)), available in the programming language FORTRAN for example, can be used. In case
and
It can be calculated that
and that
and that
and that
In summary,
Properties of Euler angles
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".
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.
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).
Higher dimensions
It is possible to define parameters analogous to the Euler angles in dimensions higher than three.
The degrees of freedom of a rotation matrix is always less than the dimension. A rotation matrix in dimension 2 has only one degree of freedom. Given an angle of rotation the whole matrix is defined. A rotation matrix in dimension 3 has three degrees of freedom. It is defined for example by its three Euler angles or a 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 4x4 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.
Applications
Their main advantage over other orientation descriptions is that they are directly measurable from a gimbal mounted in an aircraft. As gyroscopes keep its 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 spacecrafts, 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 [3] .
Euler angles are used extensively in the classical mechanics of rigid bodies, and in the quantum mechanics of angular momentum.
When studying rigid bodies, 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 kinetic energy are usually 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, in body coordinates, of a rigid body takes a simple form using Euler angles:
where IJK are unit vectors for XYZ.
Here the rotation sequence is 3-1-3 (or Z-X-Z using the convention stated above).
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.[4]
Naval 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.
Unit quaternions, also known as Euler-Rodrigues parameters, 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 faster and more stable.
- Extracting the angle and axis of rotation is simpler.
- Interpolation is more straightforward. See for example slerp.
See also
- Rotation representation
- Euler's rotation theorem
- Quaternions
- Axis angle
- Conversion between quaternions and Euler angles
- Quaternions and spatial rotation
- Tait-Bryan angles
- Spherical coordinate system
- Yaw, pitch, and roll
Notes
- ^ Mathworld does a good job describing this issue
- ^ Orientation, Rotation, Velocity, and Acceleration and the SRM, Paul Verner, [1]
- ^ 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. (2000). Texture and Anisotropy: Preferred Orientations in Polycrystals and theif effect on Materials Properties. Cambridge. ISBN 9780521794206.
References
- 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
{{citation}}
: Unknown parameter|isnb=
ignored (|isbn=
suggested) (help) - Landau, L.D.; Lifshitz, E. M. (1996), Mechanics (3rd ed.), Oxford: Butterworth-Heinemann, ISBN 978-0-7506-2896-9
External links
- Weisstein, Eric W. "Euler Angles". MathWorld.
- Java applet for the simulation of Euler angles available at http://www.parallemic.org/Java/EulerAngles.html.
- http://sourceforge.net/projects/orilib - A collection of routines for rotation / orientation manipulation, including special tools for crystal orientations.
- Template:It A generalization of Euler Angles to n-dimensional real spaces