3.5.2 · D3Guidance, Navigation & Control (GNC)

Worked examples — Euler angles — roll φ, pitch θ, yaw ψ; rotation sequence (3-2-1 convention)

2,368 words11 min readBack to topic

Before we start, a one-line refresher of the two tools we lean on the most:

All angles below are in degrees unless a formula demands radians.


The scenario matrix

Every problem this topic can pose falls into one of these cells. Each worked example below is tagged with the cell(s) it covers.

# Case class What makes it tricky Example
A Single-axis, positive angle baseline sanity Ex 1
B Negative angle sign of flips a column Ex 2
C Quadrant care in recovery (angle > 90° or < −90°) plain fails, need atan2 Ex 3
D All three angles combined full matrix multiply, no zeros to hide behind Ex 4
E Zero / identity input degenerate — must return Ex 5
F Gimbal lock recovery becomes 0/0, DOF lost (both signs) Ex 6
G Word problem (real vehicle heading) translate English → angles → vector Ex 7
H Exam twist: non-uniqueness ( vs ) two angle-triples, one orientation Ex 8

Ex 1 — Case A: pure pitch, positive angle

Forecast: Guess before computing — will the nose gain a positive Down component, a negative one, or none? (Nose up means the nose lifts above the horizon.)

  1. With only pitch, . Why this step? make and into the identity, so the product collapses to just the pitch matrix.
  2. The nose in body frame is ; convert to nav via . Why this step? The vector "points out the nose" is trivially in the body frame. To see it in nav we go body → nav, which is the transpose.
  3. Compute. . Why this step? The first column of is exactly .

Look at figure s01: the nose vector (amber) has lifted above the North–East plane, so its Down component is negative (). Nose-up = negative Down. Forecast check: yes, negative.

Figure — Euler angles — roll φ, pitch θ, yaw ψ; rotation sequence (3-2-1 convention)

Verify: magnitude (still a unit direction ✓). The North component and Down agree with a lift.


Ex 2 — Case B: negative yaw

Forecast: North (nose forward) will rotate to... East or West? Negative yaw in the passive/right-hand convention.

  1. . Using : Why this step? Substituting a negative angle simply flips the sign of every term; the that sat in the lower-left becomes .
  2. Nose in nav . The transpose's first column is . Why this step? Same body→nav logic as Ex 1.
  3. Result: nose = negative East = West. Why this step? in the East slot means "one unit toward West."

Verify: A yaw should point the nose from North to West. is exactly West ✓. Contrast with the parent's Ex 1 where gave East — the sign of decided East vs West, as it must.


Ex 3 — Case C: recovery when yaw exceeds 90°

Forecast: Both and are negative. In which quadrant does that put ? Would blindly doing get it right?

  1. Recall and . Why this step? From the full matrix in the parent note; the shared cancels in the ratio.
  2. Naive route (the trap): . Why this step? To expose the failure: can only return angles in , so it cannot tell apart from .
  3. Correct route: . Both arguments negative → third quadrant (equivalently ). Why this step? reads the two signs separately: negative sine and negative cosine can only be the third quadrant.

Figure s02 shows the four quadrant sign-patterns of so you can eyeball which yaw region you are in.

Figure — Euler angles — roll φ, pitch θ, yaw ψ; rotation sequence (3-2-1 convention)

Verify: ✓ and ✓ (taking ). The naive gives — wrong sign, confirming the trap.


Ex 4 — Case D: all three angles at once

Forecast: The first row is . Notice it does not contain at all — can you see why before reading step 3?

  1. First row of = (recall ). Why this step? Straight from the multiplied-out matrix in the parent note.
  2. Plug numbers. : Why this step? Direct substitution; keep 4 decimals to survive the magnitude check.
  3. Why no ? Roll is the last spin, about the body- axis. The first row describes how the body- axis relates to nav — and a spin about an axis never moves that axis. So is invisible in row 1. Why this step? This is the geometric heart of the 3-2-1 ordering.

Verify: magnitude (unit row of an orthogonal matrix ✓).


Ex 5 — Case E: the degenerate zero input

Forecast: If the body is perfectly aligned with the nav frame, what should the transform "do" to a vector?

  1. Each elementary matrix at becomes the identity because (i.e. every and every ). Why this step? Substituting zeroes every off-diagonal sine and puts on every diagonal.
  2. Product of three identities is the identity: . Why this step? is the multiplicative identity for matrices.
  3. Meaning: nav coordinates = body coordinates for every vector; nothing is rotated. Why this step? leaves all numbers unchanged.

Verify: (proper rotation, not a reflection ✓) and (orthogonal ✓). This is the only fixed point where all three recovery formulas give : , , .


Ex 6 — Case F: gimbal lock, BOTH and

Forecast: The parent note warns here. If those are all zero, what happens to ?

Case F+:

  1. Build the affected entries at (): . Why this step? Every one of them carries a factor .
  2. Recovery collapses: and are undefined (0/0). Only pitch survives: . Why this step? is the one entry with no factor.
  3. What IS defined: the still-meaningful quantity is the entry . At () this becomes . So the vehicle only "knows" the difference , not each separately — that is the lost degree of freedom. Why this step? At the roll and yaw axes point along the same line, so only their difference is observable.

Case F−:

  1. Build the same entries at (): again , so recovery still gives ; pitch is . Why this step? Same factor kills the same four entries; only the sign of differs.
  2. Recoverable combination flips to a SUM. Now . So at the observable is , not the difference. Why this step? flipped sign, turning the angle-subtraction identity into an angle-addition one — the two lock cases are mirror twins.

Figure s03 shows the roll and yaw axes collapsing onto a common line as pitch approaches .

Figure — Euler angles — roll φ, pitch θ, yaw ψ; rotation sequence (3-2-1 convention)

Verify: at , the entry ; at the same give . In both cases exactly. The cure is to propagate with Quaternions — avoiding gimbal lock or the raw Direction Cosine Matrix (DCM) and only convert to Euler for a human display.


Ex 7 — Case G: real-world word problem

Forecast: Heading measured clockwise from North — does clockwise correspond to a positive yaw in our convention (which yaws +ψ toward East)? North-East is East-ward of North.

  1. Translate English → angles. Heading (toward East side) ; climbing nose-up; "wings level" . Why this step? Heading is a yaw about Down; a climb is a pitch; level wings mean zero roll.
  2. Nose in nav = first column of first row of . Why this step? We established in Ex 4 that this row is the body- (nose) direction expressed in nav.
  3. Plug in. : Why this step? Equal North and East components ( each) = pointing exactly North-East; negative Down = climbing.

Verify: North/East equal ⇒ ground track bearing ✓. Climb angle ✓. Magnitude ✓.


Ex 8 — Case H: exam twist, the two-triple ambiguity

Forecast: Two totally different-looking angle triples, one physical attitude. Which trig identities make the matrices coincide?

  1. The alias rule for 3-2-1: and give the same . Why this step? This is the standard second solution; here .
  2. Check one entry, . Solution 1: . Solution 2: . Same. Why this step? makes pitch entries agree.
  3. Check . Sol 1: . Sol 2: . The two sign flips cancel. Why this step? Adding flips 's sign; taking flips 's sign; product unchanged.

Verify: equal at ; equal at . Two triples, identical matrix entries ⇒ same orientation. Exam takeaway: always report the branch with (the principal solution) unless told otherwise — see Attitude estimation (Kalman / complementary filter) for why filters pin this branch.


Active Recall

Recall Which cell trips people up most, and why?

Cell C (quadrant care). ::: Because silently drops the sign information; keeps both signs and so identifies the correct quadrant.

Recall At gimbal lock, what single quantity stays recoverable?

The combination of roll and yaw ::: at (via ) and at (via ), plus the pitch itself — but not roll and yaw separately.

Recall Why does roll never appear in the first row of

? Because roll is a spin about body- ::: and a rotation never moves its own axis, so the body- (nose) direction — which is exactly the first row of — is completely independent of .


Connections