<?xml version="1.0" encoding="UTF-8"?>

<record version="3" id="1127">
 <title>Euler angles: Tait Bryan angles</title>
 <name>EulerAnglesTaitBryanAngles</name>
 <created>2026-08-29 15:05:52</created>
 <modified>2026-08-30 01:18:54</modified>
 <type>Definition</type>
 <creator id="1" name="bloftin"/>
 <modifier id="1" name="bloftin"/>
 <author id="1" name="bloftin"/>
 <classification>
	<category scheme="pacs" code="45.40.-f"/>
	<category scheme="pacs" code="02.40.Yy"/>
	<category scheme="pacs" code="02.10.Ud"/>
 </classification>
 <keywords>
	<term>Euler angles</term>
	<term>Tait Bryan angles</term>
	<term>Cardan angles</term>
	<term>yaw pitch roll</term>
	<term>passive transformation</term>
	<term>intrinsic rotation</term>
	<term>direction cosine matrix</term>
	<term>gimbal lock</term>
 </keywords>
 <preamble>% this is the default PhysicsLibrary preamble.  as your knowledge
% of TeX increases, you will probably want to edit this, but
% it should be fine as is for beginners.

% almost certainly you want these
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsfonts}

% used for TeXing text within eps files
%\usepackage{psfrag}
% need this for including graphics (\includegraphics).
% If you use \includegraphics{figure} with no file extension, PhysicsLibrary
% will prefer figure.png before falling back to figure.eps.
\usepackage{graphicx}
\DeclareGraphicsExtensions{.png,.jpg,.jpeg,.pdf,.eps}
% for neatly defining theorems and propositions
%\usepackage{amsthm}
% making logically defined graphics
%\usepackage{xypic}

% there are many more packages, add them here as you need them

% define commands here</preamble>
 <content>\section*{Euler Angles: Tait Bryan Angles}

Tait Bryan angles are Euler angle coordinates in which the three successive
rotation axes are all different.

For an intrinsic sequence

\[
i\text{-}j\text{-}k,
\]

the Tait Bryan condition is

\begin{equation}
i\neq j,
\qquad
j\neq k,
\qquad
i\neq k.
\end{equation}

Thus each coordinate axis appears exactly once.

Tait Bryan angles are common in aerospace, navigation, robotics, vehicle
dynamics, and computer graphics because one of the six sequences often admits
an intuitive physical interpretation such as yaw, pitch, and roll.

The best-known case is intrinsic $3$-$2$-$1$ yaw pitch roll.

\section{Passive intrinsic convention}

PhysicsLibrary uses passive coordinate transformations.

For a fixed physical vector,

\begin{equation}
{}^B\mathbf v
=
{}^BC_A\,{}^A\mathbf v.
\end{equation}

For intrinsic $i$-$j$-$k$ with first, second, and third angles
$(\alpha,\beta,\gamma)$,

\begin{equation}
{}^BC_A
=
C_k(\gamma)
C_j(\beta)
C_i(\alpha).
\end{equation}

The sequence digits describe the chronological intrinsic rotation axes.

The rightmost matrix acts first on a coordinate column.

\section{Why there are six Tait Bryan sequences}

Because all three axes must be used exactly once, a Tait Bryan sequence is
simply a permutation of the three coordinate axes.

There are therefore

\begin{equation}
3!=6
\end{equation}

possible sequences.

They are

\begin{equation}
123,\quad
132,\quad
213,\quad
231,\quad
312,\quad
321.
\end{equation}

\begin{center}
\includegraphics[width=0.88\textwidth]{EA05_six_tait_bryan_sequences.png}

\vspace{0.45em}

\textbf{Figure.}
The six standard intrinsic Tait Bryan sequences.  Each is one permutation of
the three distinct coordinate axes.
\end{center}

\section{The six passive intrinsic products}

Applying the universal intrinsic composition rule gives:

\begin{center}
\begin{tabular}{|c|c|}
\hline
Sequence &amp; Passive intrinsic product\\
\hline
$1$-$2$-$3$ &amp; $C_3(\gamma)C_2(\beta)C_1(\alpha)$\\
\hline
$1$-$3$-$2$ &amp; $C_2(\gamma)C_3(\beta)C_1(\alpha)$\\
\hline
$2$-$1$-$3$ &amp; $C_3(\gamma)C_1(\beta)C_2(\alpha)$\\
\hline
$2$-$3$-$1$ &amp; $C_1(\gamma)C_3(\beta)C_2(\alpha)$\\
\hline
$3$-$1$-$2$ &amp; $C_2(\gamma)C_1(\beta)C_3(\alpha)$\\
\hline
$3$-$2$-$1$ &amp; $C_1(\gamma)C_2(\beta)C_3(\alpha)$\\
\hline
\end{tabular}
\end{center}

These are not six unrelated formulas.  They are six substitutions into the
same frame-chain rule.

\section{Tait Bryan versus proper Euler angles}

The distinction between the two Euler sequence families is purely geometric.

A Tait Bryan sequence uses three different axes:

\[
i\text{-}j\text{-}k,
\qquad
i\neq j,\quad j\neq k,\quad i\neq k.
\]

A proper Euler sequence returns to the first axis:

\[
i\text{-}j\text{-}i,
\qquad
i\neq j.
\]

Thus $3$-$2$-$1$ is Tait Bryan, while $3$-$1$-$3$ is proper Euler.

This difference determines the form of the middle-angle singularity.

\section{Principal angle ranges}

A common principal branch for every Tait Bryan sequence is

\begin{equation}
-\pi&lt;\alpha\leq\pi,
\end{equation}

\begin{equation}
-\frac{\pi}{2}
\leq
\beta
\leq
\frac{\pi}{2},
\end{equation}

and

\begin{equation}
-\pi&lt;\gamma\leq\pi.
\end{equation}

The middle angle is therefore restricted to a half-turn interval centered at
zero.

On this principal branch,

\begin{equation}
\cos\beta\geq0.
\end{equation}

\section{The universal Tait Bryan singularity}

All six Tait Bryan sequences become singular when

\begin{equation}
\cos\beta=0.
\end{equation}

Thus the singular middle angles are

\begin{equation}
\beta=\pm\frac{\pi}{2}.
\end{equation}

At those configurations, the first and third physical rotation axes become
collinear.

The physical orientation remains completely well defined.

The singularity belongs only to the Tait Bryan coordinate chart.

\begin{center}
\includegraphics[width=0.86\textwidth]{EA05_tait_bryan_middle_angle_singularity_tikz2.png}

\vspace{0.45em}

\textbf{Figure.}
For intrinsic $3$-$2$-$1$, the third rotation axis $x_2$ becomes collinear
with the first rotation axis $z_A$ when $\beta=\pm90^\circ$.  The same
geometric mechanism occurs in every Tait Bryan sequence after relabeling the
axes.
\end{center}

\section{Why the outer angles become coupled}

Away from the singularity, a Tait Bryan orientation has three locally
independent coordinates.

At

\[
\cos\beta=0,
\]

the first and third rotation axes are the same physical line.

Two rotations about the same physical line cannot be distinguished
independently from the final orientation.

Therefore $\alpha$ and $\gamma$ become coupled.

For intrinsic $3$-$2$-$1$, this is the familiar gimbal-lock configuration at

\[
\theta=\pm90^\circ.
\]

The term ``gimbal lock'' is descriptive of a mechanical gimbal system, but the
underlying mathematical issue is a coordinate singularity of the chosen Euler
chart.

\section{Aerospace yaw pitch roll}

The most common aerospace Tait Bryan sequence is intrinsic

\[
3\text{-}2\text{-}1.
\]

PhysicsLibrary identifies

\begin{equation}
\alpha=\psi,
\qquad
\beta=\theta,
\qquad
\gamma=\phi,
\end{equation}

where

\[
\psi=\text{yaw},
\qquad
\theta=\text{pitch},
\qquad
\phi=\text{roll}.
\]

The passive DCM is

\begin{equation}
{}^BC_A
=
C_1(\phi)
C_2(\theta)
C_3(\psi).
\end{equation}

Using

\[
c_\phi=\cos\phi,
\qquad
s_\phi=\sin\phi,
\]

and similarly for $\theta$ and $\psi$, multiplication gives

\begin{equation}
{}^BC_A
=
\begin{bmatrix}
c_\theta c_\psi &amp;
c_\theta s_\psi &amp;
-s_\theta\\
s_\phi s_\theta c_\psi-c_\phi s_\psi &amp;
s_\phi s_\theta s_\psi+c_\phi c_\psi &amp;
s_\phi c_\theta\\
c_\phi s_\theta c_\psi+s_\phi s_\psi &amp;
c_\phi s_\theta s_\psi-s_\phi c_\psi &amp;
c_\phi c_\theta
\end{bmatrix}.
\end{equation}

\section{Inverse extraction for intrinsic 3-2-1}

Let

\[
C
=
{}^BC_A.
\]

On the nonsingular principal branch,

\begin{equation}
\theta
=
\arcsin(-C_{13}),
\end{equation}

\begin{equation}
\phi
=
\operatorname{atan2}(C_{23},C_{33}),
\end{equation}

and

\begin{equation}
\psi
=
\operatorname{atan2}(C_{12},C_{11}).
\end{equation}

These equations are valid when

\begin{equation}
\cos\theta\neq0.
\end{equation}

Near the singularity, a numerical implementation should switch to an
explicitly chosen singular-case convention rather than dividing by a vanishing
quantity.

\section{Alternative names and notation}

Tait Bryan angles are also called Cardan angles in some literature.

The phrases roll pitch yaw and yaw pitch roll are also used, but those names
must be handled carefully.

They do not by themselves specify:

\begin{enumerate}

\item intrinsic or extrinsic axes;

\item active or passive transformation;

\item map direction;

\item exact axis order.

\end{enumerate}

For this reason PhysicsLibrary always states the sequence explicitly.

\section{Tait Bryan angles are coordinates, not a vector}

A triple

\[
(\alpha,\beta,\gamma)
\]

is a set of nonlinear orientation coordinates.

It is not an ordinary geometric three-vector.

In general,

\begin{equation}
(\alpha_1,\beta_1,\gamma_1)
+
(\alpha_2,\beta_2,\gamma_2)
\end{equation}

does not represent exact finite rotation composition.

Likewise,

\begin{equation}
(\alpha_2-\alpha_1,\beta_2-\beta_1,\gamma_2-\gamma_1)
\end{equation}

is not generally the exact relative attitude.

Finite relative orientation should be computed through DCM or quaternion
composition.

\section{Equivalent extrinsic description}

For any Tait Bryan sequence,

\begin{equation}
\text{intrinsic }i\text{-}j\text{-}k
(\alpha,\beta,\gamma)
\equiv
\text{extrinsic }k\text{-}j\text{-}i
(\gamma,\beta,\alpha).
\end{equation}

For aerospace $3$-$2$-$1$,

\begin{equation}
\text{intrinsic }3\text{-}2\text{-}1
(\psi,\theta,\phi)
\equiv
\text{extrinsic }1\text{-}2\text{-}3
(\phi,\theta,\psi).
\end{equation}

The final orientation is the same, but the geometric description of the axes
is different.

\section{Passive quaternion equivalent}

For positive passive frame rotations,

\begin{equation}
q_i^P(\lambda)
=
\cos\frac{\lambda}{2}
-
\mathbf e_i\sin\frac{\lambda}{2}.
\end{equation}

Thus a generic intrinsic Tait Bryan sequence satisfies

\begin{equation}
{}^Bq_A
=
q_k^P(\gamma)
q_j^P(\beta)
q_i^P(\alpha).
\end{equation}

For intrinsic $3$-$2$-$1$,

\begin{equation}
{}^Bq_A
=
q_1^P(\phi)
q_2^P(\theta)
q_3^P(\psi).
\end{equation}

The quaternion and DCM must agree:

\begin{equation}
{}^BC_A
=
C({}^Bq_A).
\end{equation}

\section{Numerical example}

Take the aerospace angles

\[
\psi=30^\circ,
\qquad
\theta=20^\circ,
\qquad
\phi=10^\circ.
\]

Then

\begin{equation}
{}^BC_A
=
C_1(10^\circ)
C_2(20^\circ)
C_3(30^\circ)
\end{equation}

gives approximately

\begin{equation}
{}^BC_A
\approx
\begin{bmatrix}
0.81380&amp;0.46985&amp;-0.34202\\
-0.44097&amp;0.88256&amp;0.16318\\
0.37852&amp;0.01803&amp;0.92542
\end{bmatrix}.
\end{equation}

The matrix satisfies

\begin{equation}
CC^T=I
\end{equation}

and

\begin{equation}
\det C=1
\end{equation}

to numerical precision.

Applying the inverse extraction formulas recovers the principal angles
$(\psi,\theta,\phi)=(30^\circ,20^\circ,10^\circ)$.

\section{When Tait Bryan angles are useful}

Tait Bryan coordinates are especially useful when:

\begin{enumerate}

\item a particular axis sequence has direct physical meaning;

\item the operating region stays away from the middle-angle singularity;

\item human-readable orientation coordinates are important;

\item angle limits are naturally specified in yaw, pitch, roll, or an
equivalent sequence;

\item initial and final conditions are given in a standard engineering
sequence.

\end{enumerate}

They are often best used as display or interface coordinates even when the
internal attitude state is propagated with a quaternion or DCM.

\section{When another representation is preferable}

A quaternion or DCM is usually preferable for internal propagation when:

\begin{enumerate}

\item the motion may approach or cross $\beta=\pm90^\circ$;

\item repeated finite composition is required;

\item gyroscope angular rates directly drive the state;

\item differentiability across a large attitude range is important;

\item numerical optimization or estimation must avoid coordinate
singularities.

\end{enumerate}

The problem is not that Tait Bryan angles are physically incorrect.

The issue is that one minimal coordinate chart cannot remain nonsingular over
all of $SO(3)$.

\section{Common mistakes}

\begin{enumerate}

\item Treating ``yaw pitch roll'' as a complete convention declaration.

\item Assuming every source uses intrinsic $3$-$2$-$1$.

\item Confusing the Tait Bryan family with proper Euler sequences.

\item Using $\phi,\theta,\psi$ as generic first, second, and third angles for
all six sequences.

\item Forgetting that the middle-angle singularity occurs at
$\cos\beta=0$.

\item Interpreting gimbal lock as a physical loss of orientation.

\item Subtracting finite Tait Bryan triples to compute exact relative
attitude.

\item Copying an active-vector formula into a passive coordinate-map
implementation without transposition or sign conversion.

\end{enumerate}

\section{Verification checks}

Any Tait Bryan sequence implementation should pass the following checks.

\begin{enumerate}

\item Zero angles give the identity matrix.

\item Each single-angle reduction gives the correct passive elementary matrix.

\item The matrix is orthogonal:

\[
CC^T=I.
\]

\item The determinant is positive:

\[
\det C=1.
\]

\item The reverse coordinate map is the transpose.

\item A DCM-to-Euler round trip recovers the selected principal branch away
from singularity.

\item The DCM agrees with the corresponding passive quaternion.

\end{enumerate}

\section{Summary}

Tait Bryan angles are the six Euler angle sequences that use all three
coordinate axes exactly once:

\begin{equation}
123,\quad132,\quad213,\quad231,\quad312,\quad321.
\end{equation}

For every intrinsic Tait Bryan sequence,

\begin{equation}
{}^BC_A
=
C_k(\gamma)
C_j(\beta)
C_i(\alpha).
\end{equation}

Their universal middle-angle singularity is

\begin{equation}
\cos\beta=0.
\end{equation}

For aerospace intrinsic $3$-$2$-$1$,

\begin{equation}
{}^BC_A
=
C_1(\phi)C_2(\theta)C_3(\psi),
\end{equation}

with singularity at

\begin{equation}
\theta=\pm\frac{\pi}{2}.
\end{equation}

Tait Bryan angles provide compact, physically intuitive local coordinates, but
they remain a sequence-dependent coordinate chart rather than a global vector
representation of orientation.

The next article,
\emph{Euler angles: proper Euler angles},
develops the complementary six sequences in which the first and third axis
labels are the same.

\section{References and further reading}

Henderson gives the classic NASA engineering tabulation of Euler angle
sequences, including the Tait Bryan cases.

Diebel provides a unified comparison of Euler angles, DCMs, quaternions, and
rotation vectors.

Goldstein, Poole, and Safko provide classical mechanics context for Euler
coordinates and rigid body orientation.

SciPy's rotation interface explicitly distinguishes intrinsic and extrinsic
Euler sequence strings.

\begin{thebibliography}{9}

\bibitem{Henderson1977}
D. M. Henderson,
\emph{Euler Angles, Quaternions, and Transformation Matrices:
Working Relationships},
JSC-12960,
NASA Johnson Space Center,
1977.
\PMlinkexternal{NASA Technical Reports Server}
{https://ntrs.nasa.gov/citations/19770024290}

\bibitem{Diebel2006}
J. Diebel,
``Representing Attitude:
Euler Angles, Unit Quaternions, and Rotation Vectors,''
Stanford University,
2006.
\PMlinkexternal{Online PDF}
{https://www.astro.rug.nl/software/kapteyn-beta/_downloads/attitude.pdf}

\bibitem{Goldstein2002}
H. Goldstein, C. Poole, and J. Safko,
\emph{Classical Mechanics},
3rd ed.,
Addison Wesley,
2002.
\PMlinkexternal{Publisher search}
{https://www.pearson.com/en-us/search.html?aq=Classical+Mechanics+Goldstein}

\bibitem{SciPyEuler}
SciPy Developers,
``Rotation.from\_euler,''
SciPy documentation.
\PMlinkexternal{SciPy Euler rotation documentation}
{https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.from_euler.html}

\end{thebibliography}

\section*{License}

Unless otherwise noted, this PhysicsLibrary entry is intended for release
under the Creative Commons Attribution ShareAlike 4.0 International license.</content>
</record>
