Physics Library
 An open source physics library
Encyclopedia | Forums | Docs | Random  

Euler angles: intrinsic and extrinsic rotations

(Definition)

Euler Angles: Intrinsic and Extrinsic Rotations

Euler Angle descriptions are frequently labeled intrinsic or extrinsic.

Those words answer a specific geometric question:

Which axes are used for the second and third rotations?

In an intrinsic sequence, each new rotation is taken about an axis of the current intermediate frame. The axes move with the frame.

In an extrinsic sequence, each rotation is taken about an axis fixed in the original reference frame.

This distinction is independent of the active versus passive distinction. PhysicsLibrary uses passive coordinate maps as its house convention, but both intrinsic and extrinsic axis constructions can be described passively.

The objective of this article is to make those statements geometric, derive their matrix consequences, and establish the reverse-order equivalence between the two descriptions.

1 Convention recap

Let frames A and B be right handed and orthonormal.

PhysicsLibrary writes the passive coordinate map as

Bv =  BCA Av.
(1)

The elementary passive frame rotations are

         ⌊                ⌋
          1     0       0
C1 (λ) = ⌈0   cos λ   sin λ⌉ ,
          0  − sin λ  cosλ
(2)

         ⌊                ⌋
          cos λ  0  − sinλ
C  (λ) = ⌈  0    1     0  ⌉ ,
  2
          sin λ  0   cosλ
(3)

and

         ⌊                ⌋
           cos λ   sin λ  0
C3 (λ) = ⌈− sin λ  cosλ  0⌉ .
             0       0   1
(4)

The corresponding active rotation matrices are

Ri(λ) = Ci(λ )T =  Ci(− λ).
(5)

The Ri notation will be useful when describing how frame basis vectors move in the fixed reference frame.

2 Why the pictures must show intermediate frames

A single diagram containing only the initial and final frames cannot reveal whether a three angle construction was intrinsic or extrinsic.

The difference appears at the second rotation.

After the first rotation, an intrinsic construction uses an axis belonging to the newly rotated frame.

An extrinsic construction continues to use an axis belonging to the original frame.

For this reason the figures in this article show intermediate frames explicitly rather than attempting to compress the entire sequence into one dense axis drawing.

This is also the organization used by modern multibody dynamics software and reference frame treatments: body fixed rotations are constructed through new intermediate axes, while space fixed rotations continue to use the parent frame axes.

3 Intrinsic rotations: the axes move with the frame

Consider an intrinsic 3-2-1 construction.

Let

A0 = A.

The first frame rotation is through α about axis 3 of frame A. Call the new frame A1.

The second rotation is through β, but now the rotation axis is axis 2 of frame A1, not axis 2 of the original frame.

PIC

Figure. Intrinsic construction through the first two rotations of a 3-2-1 sequence. After the first rotation, the second rotation is about the moved axis y1. The original yA axis is retained as a reference so the difference is visible.

The full intrinsic frame chain is

A0  −→  A1 −→  A2  −→  A3 = B.

For a generic intrinsic i-j-k sequence, the first rotation is about axis i of A0, the second about axis j of A1, and the third about axis k of A2.

The corresponding passive coordinate transformations are

A1v = Ci (α )Av,
(6)

A2v =  Cj(β )A1v,
(7)

and

Bv = C  (γ)A2v.
       k
(8)

Substitution gives the PhysicsLibrary intrinsic sequence rule

BC   =  C (γ)C  (β)C (α).
   A     k     j    i
(9)

The rightmost matrix acts first on a coordinate column.

4 Extrinsic rotations: the axes stay fixed

Now consider an extrinsic construction.

The first frame rotation is again about an axis of the original reference frame. After that rotation, however, the second and third rotation axes remain axes of the original frame A.

For an extrinsic 3-2-1 example, the second rotation is about the original axis 2A, even though the body frame has already moved.

PIC

Figure. Extrinsic construction through the first two rotations of a 3-2-1 sequence. The second rotation is about the fixed original axis yA. The intermediate frame has moved, but the axis used to define the second rotation has not.

It is helpful to derive the extrinsic passive DCM through the orientation of the moving frame basis expressed in the fixed frame.

Let

R (λ ) = C (λ)T
  i       i

denote the active matrix that rotates frame basis vectors through the positive geometric angle λ about fixed axis i.

For an extrinsic i-j-k frame sequence,

A
 EB  =  Rk(γ)Rj (β)Ri(α ),
(10)

where the columns of AE B are the final frame B basis vectors expressed in frame A.

The passive coordinate map is the transpose:

B       A    T
 CA  = ( EB  ) .
(11)

Therefore

BCA  =  Ci(α)Cj (β )Ck(γ).
(12)

This is the generic PhysicsLibrary passive formula for an extrinsic i-j-k sequence.

5 Intrinsic and extrinsic sequences with the same axis labels are different

A common mistake is to see the label 3-2-1 and assume that intrinsic 3-2-1 and extrinsic 3-2-1 are the same construction.

They are not.

For the same angle list (α,β,γ),

C      =  C (γ)C  (β)C (α ),
  int,321    1     2    3
(13)

whereas

Cext,321 = C3(α )C2 (β)C1 (γ ).
(14)

Finite rotations generally do not commute, so these products are generally different.

Numerical comparison

Take

α = 30∘,     β = 20∘,     γ = 10∘.

The intrinsic 3-2-1 passive matrix is approximately

         ⌊ +0.8138   +0.4698   − 0.3420 ⌋
         ⌈                             ⌉
Cint,321 =  − 0.4410  +0.8826   +0.1632   .
           +0.3785   +0.0180   +0.9254
(15)

The extrinsic 3-2-1 passive matrix is approximately

          ⌊                            ⌋
           +0.8138   +0.5438   − 0.2049
Cext,321 = ⌈− 0.4698  +0.8232   +0.3188 ⌉ .
           +0.3420   − 0.1632  +0.9254
(16)

The entries differ, so the two interpretations produce different final orientations.

6 The reverse-order equivalence

Intrinsic and extrinsic descriptions do have an exact equivalence, but the axis order and angle order reverse together.

For intrinsic i-j-k with angles (α,β,γ),

Cint = Ck (γ)Cj(β )Ci (α).
(17)

Now consider extrinsic k-j-i with angles (γ,β,α).

The extrinsic rule gives

Cext = Ck (γ)Cj(β )Ci(α).
(18)

Thus

intrinsic i- j-k(α, β,γ)  ⇐ ⇒    extrinsic k-j-i(γ,β,α ).
(19)

PIC

Figure. Reverse-order equivalence. Intrinsic 3-2-1 with (α,β,γ) and extrinsic 1-2-3 with (γ,β,α) produce the same passive DCM and the same final orientation.

For the important 3-2-1 case,

intrinsic 3 -2-1(α, β,γ)  ⇐ ⇒    extrinsic 1-2-3(γ,β, α).
(20)

The safest memory rule is:

Reverse the axis order and reverse the associated angle order.

7 Aerospace yaw pitch roll

PhysicsLibrary specializes intrinsic 3-2-1 to

α =  ψ,     β = 𝜃,     γ = ϕ,
(21)

where ψ is yaw, 𝜃 is pitch, and ϕ is roll.

Therefore

BC   =  C (ϕ)C  (𝜃)C (ψ).
   A     1     2    3
(22)

The equivalent extrinsic description is 1-2-3 with chronological angles

(ϕ, 𝜃,ψ).
(23)

In words:

  1. intrinsic: yaw about the current 3 axis, then pitch about the new 2 axis, then roll about the newest 1 axis;
  2. equivalent extrinsic: roll about fixed axis 1A, then pitch about fixed axis 2A, then yaw about fixed axis 3A.

Both descriptions give the same final orientation when the association is handled exactly as stated.

8 Body fixed and space fixed terminology

Many mechanics and software references use the phrases body fixed and space fixed.

In the terminology used here:




Term Axis behavior PhysicsLibrary word



Body fixed each new axis belongs to an intermediate moving frame intrinsic



Space fixedeach axis remains attached to the original reference frame extrinsic



SymPy’s reference frame tools use this distinction directly: orient_body_fixed performs rotations about successive intermediate frame axes, while orient_space_fixed performs rotations about the parent frame axes.

The terminology is helpful, but an engineering article should still state the axis sequence and transformation direction explicitly.

9 Intrinsic versus extrinsic is independent of active versus passive

There are two independent questions:

  1. Which axes define the sequence?
  2. What object is being transformed?

Intrinsic versus extrinsic answers the first question.

Active versus passive answers the second.

An active rotation changes a physical vector while the coordinate frame is held fixed.

A passive rotation changes the coordinate representation by changing the frame while the physical vector is held fixed.

Therefore all four combinations are possible:




Intrinsic axes Extrinsic axes



Passivemoving frame axes, coordinate mapfixed reference axes, coordinate map



Active moving axes, vector rotation fixed axes, vector rotation



PhysicsLibrary’s house convention is passive and intrinsic unless explicitly stated otherwise.

10 Why different references appear to reverse the order

Several independent reversals can occur in the literature:

  1. intrinsic versus extrinsic descriptions;
  2. active versus passive transformations;
  3. A → B versus B → A map direction;
  4. chronological rotation order versus written matrix multiplication order;
  5. first-second-third angle notation versus physical yaw-pitch-roll names.

A formula should not be judged by matrix order alone.

The frame labels and the definitions of the three angles must be read first.

11 Software convention diagnostics

Modern software libraries make the intrinsic/extrinsic distinction explicit, but their notation is not universal.

SciPy uses uppercase axis strings such as ZYX for intrinsic rotations and lowercase strings such as zyx for extrinsic rotations.

SymPy uses orient_body_fixed for intrinsic moving axis rotations and orient_space_fixed for extrinsic fixed axis rotations.

These APIs are useful convention checks, but their returned rotation objects must still be reconciled with the PhysicsLibrary passive map direction before numerical matrices are copied into an article or simulation.

12 A frame-label derivation of the intrinsic rule

The intrinsic rule can be understood without memorizing matrix order.

For the first rotation,

A1CA =  Ci(α).
(24)

For the second,

A2CA   = Cj(β ).
     1
(25)

For the third,

BC    =  C (γ).
   A2     k
(26)

Coordinate maps compose by matching adjacent frame labels:

B       B    A2    A1
  CA =   CA2   CA1   CA.
(27)

Therefore

B
  CA =  Ck(γ)Cj (β)Ci(α).
(28)

This frame-chain argument is usually safer than relying on a verbal rule such as “multiply in reverse order.”

13 Checks for an intrinsic/extrinsic conversion

When converting a sequence description, verify all of the following.

  1. The final DCM is unchanged.
  2. The axis order has reversed.
  3. The angle association has reversed with the axes.
  4. Passive versus active interpretation has not silently changed.
  5. The coordinate map direction has not silently changed.
  6. Single-angle reductions still agree.

14 Common mistakes

  1. Calling a sequence “3-2-1” without stating intrinsic or extrinsic.
  2. Assuming intrinsic and extrinsic 3-2-1 are identical.
  3. Reversing the axis order but forgetting to reverse the angle association.
  4. Confusing a moving axis with an axis that merely has the same numerical label.
  5. Treating “body fixed” as a statement about active versus passive rotation rather than about the axes used for successive rotations.
  6. Copying a SciPy or robotics matrix without checking its active/passive and map-direction conventions.
  7. Forgetting that the rightmost matrix acts first on a coordinate column.

15 Summary

Intrinsic and extrinsic Euler rotations differ in the axes used for successive rotations.

For intrinsic i-j-k,

BCA  =  Ck(γ)Cj (β)Ci(α).
(29)

For extrinsic i-j-k,

B
  CA =  Ci(α)Cj (β )Ck(γ).
(30)

Therefore

intrinsic i-j- k (α,β,γ ) ≡ extrinsic k-j- i(γ,β, α).
(31)

The distinction is geometric:

  • intrinsic rotations use axes of successive moving frames;
  • extrinsic rotations use axes fixed in the original frame.

It is independent of the active/passive distinction.

The next article, Euler sequence composition and the twelve standard sequences, uses these rules to organize all six Tait Bryan and all six proper Euler sequences in one consistent framework.

16 References and further reading

Henderson provides a classic NASA engineering treatment of Euler transformations and their matrix relationships.

Moore’s multibody dynamics text illustrates successive body fixed frame orientations through explicit intermediate reference frames.

SymPy’s reference frame documentation formalizes the body fixed versus space fixed distinction in software.

SciPy’s Euler angle API explicitly distinguishes intrinsic and extrinsic axis sequences.

Diebel provides a broad attitude representation reference useful when comparing Euler conventions with DCM and quaternion conventions.

References

[1]   D. M. Henderson, Euler Angles, Quaternions, and Transformation Matrices: Working Relationships, JSC-12960, NASA Johnson Space Center, 1977. NASA Technical Reports Server

[2]   J. K. Moore, Learn Multibody Dynamics, chapter “Orientation of Reference Frames,” 2026 edition. Licensed CC BY 4.0. Orientation of Reference Frames

[3]   SymPy Development Team, “ReferenceFrame orientation methods,” SymPy documentation. SymPy ReferenceFrame documentation

[4]   SciPy Developers, “Rotation.from_euler,” SciPy documentation. SciPy Euler rotation documentation

[5]   J. Diebel, “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors,” Stanford University, 2006. Online PDF

License

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


"Euler angles: intrinsic and extrinsic rotations" is owned by bloftin.
(view preamble)
View style:
Keywords:  Euler angles, intrinsic rotations, extrinsic rotations, body fixed rotations, space fixed rotations, moving axes, fixed axes, passive coordinate transformation

Attachments:
example of Euler angles: intrinsic and extrinsic rotations (Example) by bloftin

Cross-references: composition, matrix multiplication, representation, vector, mechanics, commute, formula, diagram, vectors, matrix, Euler Angle

This is version 4 of Euler angles: intrinsic and extrinsic rotations, born on 2026-08-28, modified 2026-08-29.
Object id is 1123, canonical name is EulerAnglesIntrinsicAndExtrinsicRotations.
Accessed 372 times total.

Classification:
Physics Classification: 02.40.Yy (Geometric mechanics )
 45.40.-f (Dynamics and kinematics of rigid bodies)
 02.10.Ud (Linear algebra)

Pending Errata and Addenda

None.

Discussion

No messages.

Interact