Wolfram言語

主な幾何学的機能

オイラー回転

バージョン11には,移動座標枠についての回転シーケンスを表すEulerMatrixが導入されている.

ジンバルのモデルを作成する.各オイラー角は,各軸の回転の相対角度である.

完全なWolfram言語入力を表示する
In[1]:=
Click for copyable input
ring3 = {Red, CapForm -> None, Tube[{{-.1, 0, 0}, {.1, 0, 0}}, 3], Line[{{{0, 0, 4}, {0, 0, 3}}, -{{0, 0, 4}, {0, 0, 3}}}]}; ring2 = {Blue, CapForm -> None, Tube[{{-.1, 0, 0}, {.1, 0, 0}}, 2], Line[{{{0, 3, 0}, {0, 2, 0}}, -{{0, 3, 0}, {0, 2, 0}}}]}; ring1 = {Green, CapForm -> None, Tube[{{-.1, 0, 0}, {.1, 0, 0}}, 1], Black, Arrow[{{-1, 0, 0}, {1, 0, 0}}], Line[{{{0, 0, 1}, {0, 0, 2}}, -{{0, 0, 1}, {0, 0, 2}}}]};
In[2]:=
Click for copyable input
gimbal[{\[Alpha]_, \[Beta]_, \[Gamma]_}] := Graphics3D[{GeometricTransformation[ring3, EulerMatrix[{\[Alpha], 0, 0}]], GeometricTransformation[ring2, EulerMatrix[{\[Alpha], \[Beta], 0}]], GeometricTransformation[ring1, EulerMatrix[{\[Alpha], \[Beta], \[Gamma]}]]}, ViewPoint -> {1.3, -2.4, 2.}, PlotRange -> 3.5, ImageSize -> Medium];
In[3]:=
Click for copyable input
gimbalframes = Table[gimbal[{i, i, i}], {i, 0, 2 Pi, Pi/32}];
In[4]:=
Click for copyable input
Manipulate[ gimbalframes[[i]], {{i, 1, "time"}, 1, Length[gimbalframes], 1}, SaveDefinitions -> True]
Out[4]=
動画を開始
動画を中止

関連する例

de en es fr ko pt-br ru zh