- Euler angles
The

**Euler angles**were developed byLeonhard Euler to describe the orientation of arigid body (a body in which the relative position of all its points is constant) in 3-dimensionalEuclidean space . To give an object a specific orientation it may be subjected to a sequence of threerotation s 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 the space as a composition of rotations from a reference frame. 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.This previous definition is called

**z-x-z**convention and is one of several common conventions; others are**x-y-z**and**z-y-x**. Unfortunately the order in which the angles are given and even the axes about which they are applied has never been “agreed” upon. When using Euler angles the order and the axes about which the rotations are applied should be supplied. [*http://mathworld.wolfram.com/EulerAngles.html Mathworld*] does a good job describing this issue.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. Therefore a discussion employing Euler angles should always be preceded by their definition.

**Angle ranges***α and γ range are defined

modulo 2πradian s. A valid range could be [-π, π] .

*β range is modulo π radians. 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.**Matrix notation**Given the Euler angles $scriptstyle\{alpha\}$, $scriptstyle\{eta\}$, and $scriptstyle\{gamma\}$, 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 agimbal . 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 equation

:$[mathbf\{R\}]\; =\; egin\{bmatrix\}cos\; alpha\; -sin\; alpha\; 0\; \backslash sin\; alpha\; cos\; alpha\; 0\; \backslash 0\; 0\; 1\; end\{bmatrix\}\; egin\{bmatrix\}1\; 0\; 0\; \backslash 0\; cos\; eta\; -sin\; eta\; \backslash 0\; sin\; eta\; cos\; eta\; end\{bmatrix\}\; egin\{bmatrix\}cos\; gamma\; -sin\; gamma\; 0\; \backslash sin\; gamma\; cos\; gamma\; 0\; \backslash 0\; 0\; 1\; end\{bmatrix\}$

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 frameCarrying out the matrix multiplication, and abbreviating the sine and cosine functions as s and c, respectively, results in

:$[mathbf\{R\}]\; =\; egin\{bmatrix\}\; mathrm\{c\}\_alpha\; ,\; mathrm\{c\}\_gamma\; -\; mathrm\{s\}\_alpha\; ,\; mathrm\{c\}\_eta\; ,\; mathrm\{s\}\_gamma\; -mathrm\{c\}\_alpha\; ,\; mathrm\{s\}\_gamma\; -\; mathrm\{s\}\_alpha\; ,\; mathrm\{c\}\_eta\; ,\; mathrm\{c\}\_gamma\; mathrm\{s\}\_eta\; ,\; mathrm\{s\}\_alpha\; \backslash \; mathrm\{s\}\_alpha\; ,\; mathrm\{c\}\_gamma\; +\; mathrm\{c\}\_alpha\; ,\; mathrm\{c\}\_eta\; ,\; mathrm\{s\}\_gamma\; -mathrm\{s\}\_alpha\; ,\; mathrm\{s\}\_gamma\; +\; mathrm\{c\}\_alpha\; ,\; mathrm\{c\}\_eta\; ,\; mathrm\{c\}\_gamma\; -mathrm\{s\}\_eta\; ,\; mathrm\{c\}\_alpha\; \backslash \; mathrm\{s\}\_eta\; ,\; mathrm\{s\}\_gamma\; mathrm\{s\}\_eta\; ,\; mathrm\{c\}\_gamma\; mathrm\{c\}\_etaend\{bmatrix\}.$

**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. The first convention (zxz) is sometimes known as

**Cardan angles**or nautical angles, because their relationship with Cardan'sgimbal s.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. 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.

Because their relationship with

Tait-Bryan rotations , this second kind of convention sometimes are referred to as "yaw, pitch and roll", or**Tait-Bryan angles**, though usually this name is reserved for intrinsic angles in a referred frame.Aviators andaerospace engineer s, when using "yaw, pitch and roll " to refer to rotations about the referred (body) frame, often call these Euler angles. These rotations in moving frames are also known asTait-Bryan rotations .**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, "c"_{1}represents cos(θ_{1}), "s"_{1}represents sin(θ_{1}), and similarly for the other subscripts.:**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 and, at difference from other systems of rotations, they are commutative. The result is the same regardless of the order in which they are applied.**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".

**Other composition of movements equivalent**Assumed some initial conditions, the former definition can be seen as composition of three rotations around the intrinsic (moving) or extrinsic (fixed) axes.

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:

*

**Moving axes of rotation**(SeeTait-Bryan angles ) 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 γ.*

**Fixed axes of rotation**- The "xyz" system is 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.*

**Equivalence of the movements**The static description is usually used in conjunction withspherical trigonometry . It is the only form in older sources. The two rotating axes descriptions are usually used in conjunction with matrices, since 2Dcoordinate rotation s have a simple form. These last two are equivalent, since rotation about a moved axis is the conjugation of the original rotation by the move in question.To be explicit, in the fixed axes description, 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"″(α)o"X"′(β)o"Z"(γ) = [ ("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"(α) .The equivalence of the static description with the rotating axes descriptions can be verified by direct geometric construction, or by showing that the nine direction cosines (between the three "xyz" axes and the three "XYZ" axes) form the correct rotation matrix.

The equivalence of the static description with the rotating axes descriptions can be understood as external or internal composition of matrices. 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.

**Derivation of the Euler angles of a given frame**The fastest way to get the Euler Angles of a frame is to write the given three vectors as columns of a matrix and compare it with the expression of the theoretical matrix (see former table of matrices). From here 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 :$langlehat\{z\}|hat\{Z\}\; angle=coseta$and the cross product vector:$ar\{N\}=hat\{z\}\; imes\; hat\{Z\}$ has the magnitude:$|ar\{N\}|=sineta.$

Therefore,:$eta\; =\; operatorname\{arg\}(\; langlehat\{z\}|ar\{Z\}\; angle\; ,\; |ar\{N\}|\; )$where, in general, arg("u","v") is the polar argument of the vector ("u","v"), taking values in the range [-π < arg("u","v") < π] .

If $scriptstyle\{hat\{z$ is parallel or antiparallel to $scriptstyle\{hat\{Z$ (where "β"=0 or "β"=π, respectively), it is a singular case for which $alpha$ and $gamma$ not are individually defined. If this is not the case, $scriptstyle\{ar\{N$ is non-zero and has the same direction as the unit vector $scriptstyle\{hat\{N$ of the figure above. Therefore,

:$alpha=\; operatorname\{arg\}(\; langlear\{N\}|hat\{x\}\; angle\; ,\; langlear\{N\}|hat\{y\}\; angle\; )$:$gamma=-operatorname\{arg\}(\; langlear\{N\}|hat\{X\}\; angle\; ,\; langlear\{N\}|hat\{Y\}\; angle\; ).$

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 :$hat\{x\}\; =(1,0,0)$:$hat\{y\}\; =(0,1,0)$:$hat\{z\}\; =(0,0,1)$and

:$hat\{X\}\; =(X\_1,X\_2,X\_3)$:$hat\{Y\}\; =(Y\_1,Y\_2,Y\_3)$:$hat\{Z\}\; =(Z\_1,Z\_2,Z\_3)$

It can be calculated that:$ar\{N\}=(-Z\_2,Z\_1,0)$

and that

:$langlear\{N\}|hat\{x\}\; angle\; =\; -Z\_2$:$langlear\{N\}|hat\{y\}\; angle\; =\; Z\_1$

and that

:$langlehat\{z\}|hat\{Z\}\; angle\; =\; Z\_3$:$|ar\{N\}|\; =\; sqrt$Z_1}^2 + {Z_2}^2}

and that

:$langlear\{N\}|hat\{X\}\; angle\; =\; -Z\_2\; cdot\; X\_1\; +\; Z\_1\; cdot\; X\_2\; =\; Y\_3$:$langlear\{N\}|hat\{Y\}\; angle\; =\; -Z\_2\; cdot\; Y\_1\; +\; Z\_1\; cdot\; Y\_2\; =\; -X\_3.$

In summary,

:$alpha=\; operatorname\{arg\}(\; -Z\_2\; ,\; Z\_1\; )$:$eta\; =\; operatorname\{arg\}(\; Z\_3\; ,\; sqrt$Z_1}^2 + {Z_2}^2} ):$gamma=-operatorname\{arg\}(\; Y\_3\; ,\; -X\_3\; )\; =\; operatorname\{arg\}(\; Y\_3\; ,\; X\_3\; ).$

**Properties of Euler angles**The Euler angles form a chart on all of

SO(3) , thespecial orthogonal group of rotations in 3D space. The chart is smooth except for a polar coordinate style singularity along β=0. Seecharts on SO(3) for a more complete treatment.A similar three angle decomposition applies to

SU(2) , thespecial 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").**Applications**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 formusing Euler angles::$(dotalphasinetasingamma+dotetacosgamma)\{old\; I\}\; +(dotalphasinetacosgamma-dotetasingamma)\{old\; J\}\; +(dotalphacoseta+dotgamma)\{old\; K\},$

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.

Unit

quaternions , also known asEuler-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 exampleslerp .There is a common misconception that replacing the use of rotation matrices with quaternions will avoid

gimbal lock , but this is not correct. Merely changing the representation of rotation transformation matrices with equivalent quaternion forms does not help with gimbal lock, because the problem lies in the logic and not the representation. However, the logic of interpolating between rotations is expressed with quaternions in such a way that a gimbal lock that might have occurred if straightforward Euler angles were used, is avoided.**See also*** Rotation representation

*Euler's rotation theorem

*Rotation matrix

*Quaternions

*Axis angle

*Conversion between quaternions and Euler angles

*Quaternions and spatial rotation

*Tait-Bryan angles

*Spherical coordinate system **References*** citation

last1= Biedenharn

first1= L. C.

last2= Louck

first2= J. D.

title= Angular Momentum in Quantum Physics

publisher=Addison-Wesley

place= Reading, MA

year= 1981

isbn= 978-0-201-13507-7

* citation

last1= Goldstein

first1= Herbert

author1-link= Herbert Goldstein

title= Classical Mechanics

edition= 2nd

publisher=Addison-Wesley

place= Reading, MA

year= 1980

isbn= 978-0-201-02918-5

* citation

last1= Gray

first1= Andrew

title= A Treatise on Gyrostatics and Rotational Motion

publisher= Macmillan

place= London

year= 1918

publication-date= 2007

isbn= 978-1-4212-5592-7

* citation

last1= Rose

first1= M. E.

title= Elementary Theory of Angular Momentum

publisher=John Wiley & Sons

place= New York, NY

year= 1957

publication-date= 1995

isbn= 978-0-486-68480-2

* citation

last1= Symon

first1= Keith

title= Mechanics

publisher=Addison-Wesley

place= Reading, MA

year= 1971

isnb= 978-0-201-07392-8

* citation

last1= Landau

first1= L.D.

author1-link=Lev Landau

last2= Lifshitz

first2= E. M.

author2-link= Evgeny Lifshitz

title= Mechanics

edition= 3rd

publisher=

year= 1996

isbn= 978-0-7506-2896-9**External links***MathWorld|urlname=EulerAngles|title=Euler Angles

* 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.

*Wikimedia Foundation.
2010.*