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

<record version="2" id="1131">
 <title>Euler angles: 3-2-1 yaw pitch roll</title>
 <name>EulerAngles321YawPitchRoll</name>
 <created>2026-08-30 05:07:56</created>
 <modified>2026-08-30 17:14:06</modified>
 <type>Topic</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="06.30.Gv"/>
 </classification>
 <keywords>
	<term>Euler angles</term>
	<term>3-2-1 sequence</term>
	<term>yaw pitch roll</term>
	<term>aerospace attitude</term>
	<term>NED frame</term>
	<term>body frame</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: 3-2-1 Yaw Pitch Roll}

The intrinsic $3$-$2$-$1$ Euler sequence is the most common Tait Bryan
orientation parameterization in aerospace engineering and navigation.

It is usually called yaw pitch roll.

In the PhysicsLibrary convention, the three chronological frame rotations are:

\begin{enumerate}

\item yaw through $\psi$ about axis $3$ of the initial frame;

\item pitch through $\theta$ about axis $2$ of the first intermediate frame;

\item roll through $\phi$ about axis $1$ of the second intermediate frame.

\end{enumerate}

The resulting passive coordinate transformation is

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

This article develops the geometry, matrix, inverse extraction formulas,
aerospace sign interpretation, singularity, quaternion equivalent, and
angular-velocity relationship for this sequence.

The separate Euler 321 sequence entry remains the compact sequence reference.
EA07 is the deeper engineering treatment.

\section{Frame and sign convention}

Let $A$ be a reference frame and $B$ the final body frame.

PhysicsLibrary uses the passive coordinate map

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

The physical vector does not change.

Only its coordinate representation changes.

The positive frame rotation itself follows the right hand rule.

For aerospace work, a common specialization is:

\begin{itemize}

\item frame $A$: local navigation North-East-Down coordinates;

\item frame $B$: aircraft body Forward-Right-Down coordinates.

\end{itemize}

These are both right handed frames.

The FAA describes aircraft roll about the longitudinal axis, pitch about the
lateral axis, and yaw about the vertical axis. In the common body-axis
notation these correspond to axes $1$, $2$, and $3$, respectively.

\section{Intrinsic 3-2-1 frame construction}

Define

\[
A_0=A.
\]

After yaw, call the intermediate frame $A_1$.

After pitch, call the next intermediate frame $A_2$.

After roll,

\[
A_3=B.
\]

\begin{center}
\includegraphics[width=0.94\textwidth]{EA07_intrinsic_321_frame_chain.png}

\vspace{0.45em}

\textbf{Figure.}
Intrinsic $3$-$2$-$1$ frame chain. Yaw is about $z_A$, pitch is about the
moved axis $y_1$, and roll is about the moved axis $x_2$.
\end{center}

The three passive coordinate maps are

\begin{equation}
{}^{A_1}C_A
=
C_3(\psi),
\end{equation}

\begin{equation}
{}^{A_2}C_{A_1}
=
C_2(\theta),
\end{equation}

and

\begin{equation}
{}^BC_{A_2}
=
C_1(\phi).
\end{equation}

Matching adjacent frame labels gives

\begin{equation}
{}^BC_A
=
{}^BC_{A_2}
\,{}^{A_2}C_{A_1}
\,{}^{A_1}C_A,
\end{equation}

hence

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

The rightmost matrix acts first on a coordinate column.

\section{Positive yaw, pitch, and roll}

For a conventional aircraft body frame,

\[
+x=\hbox{forward},
\qquad
+y=\hbox{right},
\qquad
+z=\hbox{down}.
\]

Positive frame rotations obey the right hand rule.

Therefore:

\begin{itemize}

\item positive yaw rotates the current $x$ axis toward the current $y$ axis;

\item positive pitch rotates the current $x$ axis toward the negative current
$z$ direction, which is nose up in Forward-Right-Down coordinates;

\item positive roll rotates the current $y$ axis toward the current $z$ axis,
which is right wing down.

\end{itemize}

\begin{center}
\includegraphics[width=0.96\textwidth]{EA07_yaw_pitch_roll_positive_directions.png}

\vspace{0.45em}

\textbf{Figure.}
Positive yaw, pitch, and roll directions for the conventional
Forward-Right-Down aircraft body-axis interpretation. Each rotation is
intrinsic, so the axis used at each step belongs to the current intermediate
frame.
\end{center}

\section{Elementary passive matrices}

The three required passive frame rotations are

\begin{equation}
C_1(\phi)
=
\begin{bmatrix}
1&amp;0&amp;0\\
0&amp;\cos\phi&amp;\sin\phi\\
0&amp;-\sin\phi&amp;\cos\phi
\end{bmatrix},
\end{equation}

\begin{equation}
C_2(\theta)
=
\begin{bmatrix}
\cos\theta&amp;0&amp;-\sin\theta\\
0&amp;1&amp;0\\
\sin\theta&amp;0&amp;\cos\theta
\end{bmatrix},
\end{equation}

and

\begin{equation}
C_3(\psi)
=
\begin{bmatrix}
\cos\psi&amp;\sin\psi&amp;0\\
-\sin\psi&amp;\cos\psi&amp;0\\
0&amp;0&amp;1
\end{bmatrix}.
\end{equation}

\section{Derivation of the full 3-2-1 DCM}

Define

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

with analogous notation for $\theta$ and $\psi$.

First multiply pitch and yaw:

\begin{equation}
C_2(\theta)C_3(\psi)
=
\begin{bmatrix}
c_\theta c_\psi &amp;
c_\theta s_\psi &amp;
-s_\theta\\
-s_\psi &amp;
c_\psi &amp;
0\\
s_\theta c_\psi &amp;
s_\theta s_\psi &amp;
c_\theta
\end{bmatrix}.
\end{equation}

Premultiplying by $C_1(\phi)$ 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}

This is the canonical PhysicsLibrary passive intrinsic $3$-$2$-$1$ DCM.

\section{What the rows and columns mean}

For

\[
C={}^BC_A,
\]

the matrix elements satisfy

\begin{equation}
C_{ij}
=
\mathbf e_i^B\mathbin{\boldsymbol{\cdot}}\mathbf e_j^A.
\end{equation}

Thus row $i$ contains the body basis vector $\mathbf e_i^B$ expressed in frame
$A$ coordinates.

Column $j$ contains the reference basis vector $\mathbf e_j^A$ expressed in
frame $B$ coordinates.

For example, the first row is

\begin{equation}
{}^A\mathbf e_1^B
=
\begin{bmatrix}
c_\theta c_\psi &amp;
c_\theta s_\psi &amp;
-s_\theta
\end{bmatrix}.
\end{equation}

This row is the body forward axis expressed in the reference frame.

\section{Yaw and pitch from the body forward axis}

Suppose frame $A$ is North-East-Down and frame $B$ is Forward-Right-Down.

The body forward direction expressed in navigation coordinates is

\begin{equation}
{}^A\mathbf e_1^B
=
\begin{bmatrix}
c_\theta c_\psi\\
c_\theta s_\psi\\
-s_\theta
\end{bmatrix}.
\end{equation}

When

\[
\cos\theta&gt;0,
\]

yaw is the heading of the horizontal projection:

\begin{equation}
\psi
=
\operatorname{atan2}
\left(
({}^A\mathbf e_1^B)_2,
({}^A\mathbf e_1^B)_1
\right).
\end{equation}

The Down component is

\[
({}^A\mathbf e_1^B)_3=-\sin\theta.
\]

Thus positive pitch gives a negative Down component, corresponding to nose up.

Roll does not change the forward-axis direction because the final roll is
about that axis.

\section{Principal angle ranges}

A common principal branch is

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

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

and

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

On this branch,

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

\section{Inverse extraction from the DCM}

Let

\[
C
=
{}^BC_A
=
\begin{bmatrix}
C_{11}&amp;C_{12}&amp;C_{13}\\
C_{21}&amp;C_{22}&amp;C_{23}\\
C_{31}&amp;C_{32}&amp;C_{33}
\end{bmatrix}.
\]

Away from the singularity,

\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}

The two-argument function $\operatorname{atan2}$ is essential because it
preserves the correct quadrant.

\section{Equivalent atan2 form for pitch}

Away from singularity,

\begin{equation}
\theta
=
\operatorname{atan2}
\left(
-C_{13},
\sqrt{C_{11}^2+C_{12}^2}
\right).
\end{equation}

For a proper DCM,

\begin{equation}
\sqrt{C_{11}^2+C_{12}^2}
=
|\cos\theta|.
\end{equation}

On the principal branch this reduces to $\cos\theta$.

\section{The 3-2-1 singularity}

The sequence becomes singular when

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

Thus

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

At these configurations, the first rotation axis $z_A$ and the third rotation
axis $x_2$ become collinear.

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

\vspace{0.45em}

\textbf{Figure.}
Intrinsic $3$-$2$-$1$ singularity. At $\theta=+90^\circ$, $x_2$ is
anti-aligned with $z_A$; at $\theta=-90^\circ$, it is aligned with $z_A$.
\end{center}

The physical orientation remains completely valid.

Only the yaw pitch roll coordinate chart becomes singular.

\section{Exact outer-angle coupling at positive ninety degrees}

Set

\[
\theta=+\frac{\pi}{2}.
\]

Then

\begin{equation}
{}^BC_A
=
\begin{bmatrix}
0&amp;0&amp;-1\\
\sin(\phi-\psi)&amp;\cos(\phi-\psi)&amp;0\\
\cos(\phi-\psi)&amp;-\sin(\phi-\psi)&amp;0
\end{bmatrix}.
\end{equation}

Only

\begin{equation}
\phi-\psi
\end{equation}

appears.

Yaw and roll are therefore not independently recoverable.

\section{Exact outer-angle coupling at negative ninety degrees}

Set

\[
\theta=-\frac{\pi}{2}.
\]

Then

\begin{equation}
{}^BC_A
=
\begin{bmatrix}
0&amp;0&amp;1\\
-\sin(\phi+\psi)&amp;\cos(\phi+\psi)&amp;0\\
-\cos(\phi+\psi)&amp;-\sin(\phi+\psi)&amp;0
\end{bmatrix}.
\end{equation}

Only

\begin{equation}
\phi+\psi
\end{equation}

appears.

\section{A practical singular-case convention}

Software must choose a convention when

\[
|\cos\theta|
\]

falls below a selected numerical threshold.

One possible policy is to set

\[
\phi=0
\]

at singularity and assign the entire observable outer-angle combination to
yaw.

At positive ninety degrees,

\begin{equation}
\delta
=
\operatorname{atan2}(C_{21},C_{22})
=
\phi-\psi.
\end{equation}

With $\phi=0$,

\begin{equation}
\psi=-\delta.
\end{equation}

At negative ninety degrees,

\begin{equation}
\sigma
=
\operatorname{atan2}(-C_{21},C_{22})
=
\phi+\psi.
\end{equation}

With $\phi=0$,

\begin{equation}
\psi=\sigma.
\end{equation}

Another implementation may hold yaw fixed and assign the coupled rotation to
roll.

The requirement is not one unique policy; the requirement is an explicit,
consistent policy.

\section{Equivalent extrinsic description}

Intrinsic $3$-$2$-$1$ with chronological angles $(\psi,\theta,\phi)$ is
equivalent to extrinsic $1$-$2$-$3$ with chronological angles
$(\phi,\theta,\psi)$:

\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}

\section{Active versus passive 3-2-1 matrices}

The PhysicsLibrary matrix is passive:

\[
{}^B\mathbf v
=
{}^BC_A\,{}^A\mathbf v.
\]

The corresponding active rotation matrix is its transpose:

\begin{equation}
R_{\rm active}
=
({}^BC_A)^T.
\end{equation}

Therefore an apparently transposed $3$-$2$-$1$ matrix in another reference
may be correct under an active-vector convention.

\section{Passive quaternion equivalent}

For a positive passive frame rotation about axis $i$,

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

Therefore

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

Let

\[
c_{\phi/2}=\cos\frac{\phi}{2},
\qquad
s_{\phi/2}=\sin\frac{\phi}{2},
\]

with analogous definitions for $\theta$ and $\psi$.

Under Hamilton multiplication and scalar-first storage,

\begin{equation}
{}^Bq_A
=
\begin{bmatrix}
c_{\phi/2}c_{\theta/2}c_{\psi/2}
+s_{\phi/2}s_{\theta/2}s_{\psi/2}\\
-s_{\phi/2}c_{\theta/2}c_{\psi/2}
+c_{\phi/2}s_{\theta/2}s_{\psi/2}\\
-c_{\phi/2}s_{\theta/2}c_{\psi/2}
-s_{\phi/2}c_{\theta/2}s_{\psi/2}\\
-c_{\phi/2}c_{\theta/2}s_{\psi/2}
+s_{\phi/2}s_{\theta/2}c_{\psi/2}
\end{bmatrix}.
\end{equation}

The quaternion and DCM satisfy

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

\section{Angular velocity and Euler angle rates}

Let

\[
{}^B\boldsymbol\omega_{B/A}
=
\begin{bmatrix}
p\\q\\r
\end{bmatrix}
\]

be the angular velocity of frame $B$ relative to frame $A$, expressed in body
coordinates.

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

\begin{equation}
\begin{bmatrix}
p\\q\\r
\end{bmatrix}
=
\begin{bmatrix}
1&amp;0&amp;-\sin\theta\\
0&amp;\cos\phi&amp;\sin\phi\cos\theta\\
0&amp;-\sin\phi&amp;\cos\phi\cos\theta
\end{bmatrix}
\begin{bmatrix}
\dot\phi\\
\dot\theta\\
\dot\psi
\end{bmatrix}.
\end{equation}

Thus body angular velocity components are not equal to Euler angle rates
except in special cases.

Away from the singularity,

\begin{equation}
\begin{bmatrix}
\dot\phi\\
\dot\theta\\
\dot\psi
\end{bmatrix}
=
\begin{bmatrix}
1&amp;\sin\phi\tan\theta&amp;\cos\phi\tan\theta\\
0&amp;\cos\phi&amp;-\sin\phi\\
0&amp;\sin\phi/\cos\theta&amp;\cos\phi/\cos\theta
\end{bmatrix}
\begin{bmatrix}
p\\q\\r
\end{bmatrix}.
\end{equation}

The inverse rate map becomes singular at the same
$\cos\theta=0$ condition.

Euler angles and angular velocity develops this relationship in detail later
in the series.

\section{Small-angle approximation}

For small yaw, pitch, and roll,

\[
\sin\lambda\approx\lambda,
\qquad
\cos\lambda\approx1.
\]

Then

\begin{equation}
{}^BC_A
\approx
\begin{bmatrix}
1&amp;\psi&amp;-\theta\\
-\psi&amp;1&amp;\phi\\
\theta&amp;-\phi&amp;1
\end{bmatrix}.
\end{equation}

If

\[
\boldsymbol\epsilon
=
\begin{bmatrix}
\phi\\
\theta\\
\psi
\end{bmatrix},
\]

then

\begin{equation}
{}^BC_A
\approx
I-[\boldsymbol\epsilon\times].
\end{equation}

This is a local linearization only.

Finite yaw pitch roll angles are not a rotation vector.

\section{Numerical example}

Take

\begin{equation}
\psi=30^\circ,
\qquad
\theta=20^\circ,
\qquad
\phi=10^\circ.
\end{equation}

Then

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

gives

\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 corresponding passive quaternion is approximately

\begin{equation}
{}^Bq_A
\approx
\begin{bmatrix}
+0.951549 \\
-0.038135 \\
-0.189308 \\
-0.239298
\end{bmatrix}.
\end{equation}

The DCM 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

\begin{equation}
(\psi,\theta,\phi)
=
(30^\circ,20^\circ,10^\circ).
\end{equation}

\section{Relative attitude should not be found by angle subtraction}

Suppose two body attitudes are represented by

\[
(\psi_1,\theta_1,\phi_1)
\]

and

\[
(\psi_2,\theta_2,\phi_2).
\]

The exact relative attitude is not generally

\[
(\psi_2-\psi_1,\theta_2-\theta_1,\phi_2-\phi_1).
\]

Instead form the two DCMs,

\[
C_1={}^{{B_1}}C_A,
\qquad
C_2={}^{{B_2}}C_A,
\]

and compute

\begin{equation}
{}^{{B_2}}C_{{B_1}}
=
C_2C_1^T.
\end{equation}

Quaternion composition gives the equivalent exact result.

\section{Use in navigation and flight dynamics}

The intrinsic $3$-$2$-$1$ sequence is attractive because its coordinates have
direct interpretation over normal aircraft operating attitudes.

When $A$ is a local navigation frame and $B$ is the body frame:

\begin{itemize}

\item yaw describes heading-like orientation about the local vertical;

\item pitch describes nose-up or nose-down tilt;

\item roll describes bank about the forward axis.

\end{itemize}

Practical inertial navigation and flight-control software often propagates a
quaternion or DCM internally and converts to yaw pitch roll for displays,
interfaces, limits, initialization, or selected control logic.

\section{Convention traps in the literature}

A source that says ``yaw pitch roll'' or ``3-2-1'' has not yet fully specified
its convention.

Determine at least:

\begin{enumerate}

\item intrinsic or extrinsic axes;

\item active or passive transformation;

\item coordinate-map direction;

\item column-vector or row-vector convention;

\item positive-angle convention;

\item whether $3$-$2$-$1$ describes chronological rotations or written
matrix-factor order;

\item reference-frame axis directions, such as North-East-Down versus
East-North-Up;

\item body-axis convention, such as Forward-Right-Down.

\end{enumerate}

Many apparent sign disagreements disappear when these choices are aligned.

\section{Verification battery}

A correct PhysicsLibrary $3$-$2$-$1$ implementation should satisfy:

\begin{enumerate}

\item zero angles give the identity;

\item $\theta=\phi=0$ gives $C_3(\psi)$;

\item $\psi=\phi=0$ gives $C_2(\theta)$;

\item $\psi=\theta=0$ gives $C_1(\phi)$;

\item $CC^T=I$;

\item $\det C=1$;

\item the reverse map is the transpose;

\item DCM-to-Euler round trips recover the principal branch away from
$\cos\theta=0$;

\item the DCM agrees with the passive quaternion product;

\item the Euler-rate inverse becomes singular at the same
$\cos\theta=0$ condition.

\end{enumerate}

\section{Summary}

The PhysicsLibrary intrinsic $3$-$2$-$1$ yaw pitch roll convention is

\begin{equation}
\psi:\ 3_A,
\qquad
\theta:\ 2_1,
\qquad
\phi:\ 1_2.
\end{equation}

Its passive coordinate map is

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

Away from singularity,

\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}

The singularity occurs at

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

where yaw and roll become coupled.

The equivalent passive quaternion is

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

The $3$-$2$-$1$ sequence is therefore an extremely useful local engineering
coordinate system, while a quaternion or DCM is usually preferable for global
attitude propagation.

The next article,
\emph{Euler angles: 3-1-3 proper Euler sequence},
develops the flagship proper Euler sequence in comparable detail.

\section{References and further reading}

Henderson provides the classic NASA engineering development of Euler angles,
quaternions, transformation matrices, and the twelve sequence relationships.

The FAA Pilot's Handbook of Aeronautical Knowledge describes aircraft roll,
pitch, and yaw about the longitudinal, lateral, and vertical axes.

Diebel gives a unified attitude-representation treatment useful for comparing
Euler, DCM, quaternion, and rotation-vector conventions.

SciPy's rotation documentation provides a modern software reference for
intrinsic and extrinsic Euler sequence notation.

\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{FAA2023}
Federal Aviation Administration,
\emph{Pilot's Handbook of Aeronautical Knowledge},
FAA-H-8083-25C,
2023.
\PMlinkexternal{FAA Pilot's Handbook of Aeronautical Knowledge}
{https://www.faa.gov/regulations_policies/handbooks_manuals/aviation/phak}

\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{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>
