Skip to content

Euler Angles

Definition

Euler angles describe any arbitrary rotation using a set of three angles, each representing a single-axis rotation applied in an intrinsic sequence. Let Φ\mathbf{\Phi} be a set of Euler angles consisting of {ϕ,θ,ψ}\{\phi, \theta, \psi\}. The rotation matrix is calculated as:

Rijk(Φ)=Ri(ϕ)Rj(θ)Rk(ψ) \mathbf{R}_{ijk}(\mathbf{\Phi}) = \mathbf{R}_i(\phi) \, \mathbf{R}_j(\theta) \, \mathbf{R}_k(\psi)

where i,j,k{x,y,z}i, j, k \in \{x, y, z\}. There are 12 valid rotation sequences, split into two families:

  • Proper Euler angles — a rotation axis is repeated in the sequence (e.g. ZXZ, ZYZ, XYX). Used in rigid body mechanics and quantum mechanics.
  • Tait-Bryan angles — all three axes are distinct (e.g. XYZ, ZYX, ZXY). Used in navigation and aerospace.

The Euler sequence XYZ is commonly called Cardan Angles or Nautical Angles, and is the sequence most commonly referred to simply as “Euler angles” in engineering. The angles (ϕ,θ,ψ)(\phi, \theta, \psi) in this sequence are called Roll, Pitch, and Yaw respectively. This is the sequence used throughout this page.

Angle Conventions and Ranges

Angles are defined according to the right-hand rule. Positive values are clockwise when viewed along the positive axis direction.

The ranges are:

π{ϕ,ψ}π(or 0{ϕ,ψ}2π) -\pi \leq \{\phi, \psi\} \leq \pi \qquad \text{(or } 0 \leq \{\phi, \psi\} \leq 2\pi \text{)} π2θπ2(or 0θπ) -\frac{\pi}{2} \leq \theta \leq \frac{\pi}{2} \qquad \text{(or } 0 \leq \theta \leq \pi \text{)}

The restricted range of pitch θ\theta is a consequence of the singularity at θ=±90°\theta = \pm\,90° described below.

Euler Angles to DCM

For the XYZ sequence, the full DCM is:

Rxyz=Rx(ϕ)Ry(θ)Rz(ψ) \mathbf{R}_{xyz} = \mathbf{R}_x(\phi) \, \mathbf{R}_y(\theta) \, \mathbf{R}_z(\psi)

Expanding, using the shorthand c()=cos()c_{(\cdot)} = \cos(\cdot) and s()=sin()s_{(\cdot)} = \sin(\cdot):

Rxyz=[cθcψcθsψsθsϕsθcψcϕsψsϕsθsψ+cϕcψcθsϕcϕsθcψ+sϕsψcϕsθsψsϕcψcθcϕ] \mathbf{R}_{xyz} = \begin{bmatrix} c_\theta c_\psi & c_\theta s_\psi & -s_\theta \\ s_\phi s_\theta c_\psi - c_\phi s_\psi & s_\phi s_\theta s_\psi + c_\phi c_\psi & c_\theta s_\phi \\ c_\phi s_\theta c_\psi + s_\phi s_\psi & c_\phi s_\theta s_\psi - s_\phi c_\psi & c_\theta c_\phi \end{bmatrix}

DCM to Euler Angles

Given a DCM R\mathbf{R} with elements rijr_{ij}, the XYZ Euler angles are extracted as:

Φxyz=[arctan2(r23,r33)arcsin(r13)arctan2(r12,r11)] \mathbf{\Phi}_{xyz} = \begin{bmatrix} \text{arctan2}(r_{23},\, r_{33}) \\ -\arcsin(r_{13}) \\ \text{arctan2}(r_{12},\, r_{11}) \end{bmatrix}

Use arctan2\text{arctan2} (two-argument arctangent) rather than arctan\arctan to correctly resolve the quadrant of the result.

Gimbal Lock

Euler angles have a singularity when pitch reaches θ=±90°\theta = \pm\,90°. At this configuration, the first and third rotation axes align and one degree of freedom is lost — many different (ϕ,ψ)(\phi, \psi) pairs describe the same orientation. This is known as gimbal lock.

Gimbal lock makes Euler angles unsuitable for numerical propagation through large-angle manoeuvres or any application where pitch may approach ±90°\pm\,90°. For propagation and integration, quaternions are used instead, with conversion back to Euler angles only for display purposes.

Properties Summary

Property Value
Parameters 3
Singularities Yes — gimbal lock at θ=±90°\theta = \pm\,90°
Interpretability High — directly meaningful angles
Unique representation Yes (within defined ranges)
Preferred use Display, initialisation, human-readable output