gives the roll-pitch-yaw angles {α,β,γ} corresponding to the rotation matrix r.
RollPitchYawAngles[r,{a,b,c}]
gives the roll-pitch-yaw angles {α,β,γ} corresponding to rotation order {a,b,c}.
RollPitchYawAngles
gives the roll-pitch-yaw angles {α,β,γ} corresponding to the rotation matrix r.
RollPitchYawAngles[r,{a,b,c}]
gives the roll-pitch-yaw angles {α,β,γ} corresponding to rotation order {a,b,c}.
Details
- RollPitchYawAngles is used to decompose into fixed axis-oriented rotations.
- RollPitchYawAngles[r,{a,b,c}] gives angles {α,β,γ} such that RollPitchYawMatrix[{α,β,γ},{a,b,c}]r.
- RollPitchYawAngles[r] is equivalent to RollPitchYawAngles[r,{3,2,1}], the z-y-x rotation.
- The default z-y-x angles RollPitchYawAngles[r,{3,2,1}] decompose rotation into three steps:
- The rotation axes a, b, and c can be any integer 1, 2, or 3, but there are only twelve combinations that are general enough to be able to specify any 3D rotation.
- Rotations with the first and last axis repeated:
-
{3,2,3} z-y-z rotation 
{3,1,3} z-x-z rotation 
{2,3,2} y-z-y rotation 
{2,1,2} y-x-y rotation 
{1,3,1} x-z-x rotation 
{1,2,1} x-y-x rotation 
- Rotations with all three axes different:
-
{1,2,3} x-y-z rotation 
{1,3,2} x-z-y rotation 
{2,1,3} y-x-z rotation 
{2,3,1} y-z-x rotation 
{3,1,2} z-x-y rotation 
{3,2,1} z-y-x rotation (default) 
- Rotations with subsequent axes repeated may not be invertible since these are not capable of representing all possible rotations in 3D.
Examples
open all close allBasic Examples (2)
Get roll-pitch-yaw angles from the rotation matrix:
m = RollPitchYawMatrix[{Pi / 4, Pi / 2, 0}];RollPitchYawAngles[m]Get roll-pitch-yaw angles from the rotation matrix with the given rotation order:
m = RollPitchYawMatrix[{Pi / 2, Pi / 3, Pi / 4}, {1, 2, 3}];RollPitchYawAngles[m, {1, 2, 3}]Scope (2)
Get roll-pitch-yaw angles from a rotation matrix:
m = RollPitchYawMatrix[{Pi / 7, Pi / 3, Pi / 3}];RollPitchYawAngles[m, {3, 2, 1}]Get roll-pitch-yaw angles from a rotation matrix with the given rotation order:
m = RollPitchYawMatrix[{Pi / 2, Pi / 3, Pi / 4}, {1, 2, 3}];RollPitchYawAngles[m, {1, 2, 3}]Properties & Relations (1)
RollPitchYawAngles returns angles for which RollPitchYawMatrix gives the same rotation matrix:
m1 = RollPitchYawMatrix[{π / 3, π / 2, π / 4}];
m2 = RollPitchYawMatrix[RollPitchYawAngles[m1]];m1 == m2The angles need not be the same:
a1 = {π / 2, π, π / 3};
m1 = RollPitchYawMatrix[a1];a2 = RollPitchYawAngles[m1]However, both sets of angles produce the same rotation matrix:
RollPitchYawMatrix[a1] == RollPitchYawMatrix[a2]Possible Issues (1)
RollPitchYawMatrix allows equal consecutive axes, and this generates a rotation matrix:
m = RollPitchYawMatrix[{Pi, Pi / 2, Pi / 8}, {1, 1, 2}]{OrthogonalMatrixQ[m], Det[m]}//SimplifyHowever, RollPitchYawAngles requires consecutive axes to be distinct:
RollPitchYawAngles[m, {1, 1, 2}]This is because with consecutive axes equal, some rotation matrices cannot be represented:
m1 = RollPitchYawMatrix[{Pi / 3, 0, 0}, {3, 2, 1}]m2 = RollPitchYawMatrix[{α, β, γ}, {1, 1, 2}]FindInstance[And@@Thread[m1 == m2], {α, β, γ}]Related Guides
History
Text
Wolfram Research (2015), RollPitchYawAngles, Wolfram Language function, https://reference.wolfram.com/language/ref/RollPitchYawAngles.html.
CMS
Wolfram Language. 2015. "RollPitchYawAngles." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RollPitchYawAngles.html.
APA
Wolfram Language. (2015). RollPitchYawAngles. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RollPitchYawAngles.html
BibTeX
@misc{reference.wolfram_2026_rollpitchyawangles, author="Wolfram Research", title="{RollPitchYawAngles}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/RollPitchYawAngles.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_rollpitchyawangles, organization={Wolfram Research}, title={RollPitchYawAngles}, year={2015}, url={https://reference.wolfram.com/language/ref/RollPitchYawAngles.html}, note=[Accessed: 13-June-2026]}