EulerAngles[r]
回転行列 r に対応するオイラー角{α,β,γ}を与える.
EulerAngles[r,{a,b,c}]
回転順序が{a,b,c}のオイラー角{α,β,γ}を与える.
EulerAngles
EulerAngles[r]
回転行列 r に対応するオイラー角{α,β,γ}を与える.
EulerAngles[r,{a,b,c}]
回転順序が{a,b,c}のオイラー角{α,β,γ}を与える.
詳細
- EulerAngles[r,{a,b,c}]は,EulerMatrix[{α,β,γ},{a,b,c}]r となるような角{α,β,γ}を与える.
- EulerAngles[r]は,z-y-z回転EulerAngles[r,{3,2,3}]に等しい.
- デフォルトのz-y-z角EulerAngles[r,{3,2,3}]は,回転を3段階に分解する.
- 回転軸 a,b,c は,任意の整数1,2あるいは3でよい.しかし,任意の3D回転を指定するのに十分に一般的である組合せは12しかない.
- 最初と最後の軸が繰り返される回転
-
{3,2,3} z-y-z回転(デフォルト) 


{3,1,3} z-x-z回転 


{2,3,2} y-z-y回転 


{2,1,2} y-x-y 回転 


{1,3,1} x-z-x回転 


{1,2,1} x-y-x回転 


- 3軸がみな違う回転
-
{1,2,3} x-y-z回転 


{1,3,2} x-z-y回転 


{2,1,3} y-x-z回転 


{2,3,1} y-z-x回転 


{3,1,2} z-x-y回転 


{3,2,1} z-y-x回転 


- 続く軸が繰り返される回転は,3Dにおける可能なすべての回転を表すことができないので,可逆ではない.
例題
すべて開く すべて閉じる例 (2)
アプリケーション (6)
回転表現 (4)
a = {Pi / 2, Pi / 3, Pi / 4};m = EulerMatrix[a, {3, 2, 1}];EulerAngles[m, {1, 2, 1}]m = RollPitchYawMatrix[{Pi / 2, Pi / 3, Pi / 4}];EulerAngles[m]t{1,1,1} + s{1,–2,1}で与えられる平面上の3D回転のためのオイラー角を得る:
m = RotationMatrix[Pi / 3, {{1, 1, 1}, {1, -2, 1}}];EulerAngles[m]m1 = EulerMatrix[{Pi / 2, Pi / 2, Pi / 4}];
m2 = EulerMatrix[{Pi / 3, Pi / 4, 3Pi / 2}];
m3 = m1.m2;a = EulerAngles[m3]arrow = Arrow[{{0, 0, 0}, {0, 1, 0}}];Table[Graphics3D[{arrow, Red, GeometricTransformation[arrow, m]}, BoxStyle -> LightGray], {m, {m3, EulerMatrix[a]}}]座標系 (2)
{x1, y1, z1} = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
{x2, y2, z2} = RotationTransform[π / 3, {1, 0, 0}][{x1, y1, z1}];
(回転された
軸は
で与えられる等)のとき,
は直交行列でその逆行列はその置換であるので,
である:
R = {x2, y2, z2}.{x1, y1, z1};{x2, y2, z2} == R.{x1, y1, z1}//SimplifyEulerAngles[R]billboard[s_, p_] := Inset[Framed[s, Background -> LightGray], p];s1 = {{Arrow[{{0, 0, 0}, x1}], billboard["X", x1]},
{Arrow[{{0, 0, 0}, y1}], billboard["Y", y1]}, {Arrow[{{0, 0, 0}, z1}], billboard["Z", z1]}};s2 = {{Red, Arrow[{{0, 0, 0}, x2}], billboard["X", x2]},
{Green, Arrow[{{0, 0, 0}, y2}], billboard["Y", y2]}, {Blue, Arrow[{{0, 0, 0}, z2}], billboard["Z", z2]}};Show[Graphics3D[#, ViewPoint -> {2, 1, 1}]& /@ {s1, s2}]右手系のZ-Up座標系は,数学の直交座標で一般的である.しかし,コンピュータグラフィックスのアプリケーションでは,右手系のY-Up座標系のような別の系が使われることがある.前の例を使ってZ-UpをY-Up座標系に変換するオイラー角を求める:
{x1, y1, z1} = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};
{x2, y2, z2} = {{0, 1, 0}, {0, 0, 1}, {1, 0, 0}};R = {x1, y1, z1}.{x2, y2, z2};ea = EulerAngles[R]これらの角を使ってY-Up座標系を変換し可視化する(Z-Up系,Y-Up系,変換されたY-Up系):
billboard[s_, p_] := Inset[Framed[s, Background -> LightGray], p];s1 = {{Arrow[{{0, 0, 0}, x1}], billboard["X", x1]},
{Arrow[{{0, 0, 0}, y1}], billboard["Y", y1]}, {Arrow[{{0, 0, 0}, z1}], billboard["Z", z1]}};s2 = {{Red, Arrow[{{0, 0, 0}, x2}], billboard["X", x2]},
{Green, Arrow[{{0, 0, 0}, y2}], billboard["Y", y2]}, {Blue, Arrow[{{0, 0, 0}, z2}], billboard["Z", z2]}};s3 = GeometricTransformation[s2, EulerMatrix[ea]];Row[Graphics3D[#, ViewPoint -> {2, 1, 1}, ImageSize -> Tiny]& /@ {s1, s2, s3}]特性と関係 (1)
EulerAnglesは,EulerMatrixがそれについて同じ回転行列与える角を与える:
m1 = EulerMatrix[{π / 3, π / 2, π / 4}];
m2 = EulerMatrix[EulerAngles[m1]];m1 == m2a1 = {π / 2, π, π / 3};
m1 = EulerMatrix[a1];a2 = EulerAngles[m1]EulerMatrix[a1] == EulerMatrix[a2]考えられる問題 (1)
EulerMatrixを使うと等しい軸の連続が許容され,これが回転行列を生成する:
m = EulerMatrix[{Pi, Pi / 2, Pi / 8}, {1, 1, 2}]{OrthogonalMatrixQ[m], Det[m]}//Simplifyしかし,EulerAnglesでは連続する軸が異なっていなければならない:
EulerAngles[m, {1, 1, 2}]これは,連続する軸が等しいと表すことができない回転行列が出てくるからである:
m1 = EulerMatrix[{Pi / 3, 0, 0}, {3, 2, 1}]m2 = EulerMatrix[{α, β, γ}, {1, 1, 2}]FindInstance[And@@Thread[m1 == m2], {α, β, γ}]関連するガイド
-
▪
- 幾何学変換
テキスト
Wolfram Research (2015), EulerAngles, Wolfram言語関数, https://reference.wolfram.com/language/ref/EulerAngles.html.
CMS
Wolfram Language. 2015. "EulerAngles." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/EulerAngles.html.
APA
Wolfram Language. (2015). EulerAngles. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/EulerAngles.html
BibTeX
@misc{reference.wolfram_2026_eulerangles, author="Wolfram Research", title="{EulerAngles}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/EulerAngles.html}", note=[Accessed: 09-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_eulerangles, organization={Wolfram Research}, title={EulerAngles}, year={2015}, url={https://reference.wolfram.com/language/ref/EulerAngles.html}, note=[Accessed: 09-September-2026]}