オイラー角
提供: Eospedia
オイラー角(Euler angle)とは、3次元物体の回転方向を指定するための方法である。
3つの異なる軸周りの回転により組み合わされます。x, y, z軸周りの回転行列をRi, i=x or y or zで表現するとすると 物体の回転行列Rは
R = Ri * Rj * Rk
という3つの回転により表現できます。このとき、物体上の点(x, y, z)はこの回転行列により、(x', y', z')へと変換されます。
¥begin{bmatrix} x'¥¥ y'¥¥ z' ¥end{bmatrix} = R ¥begin{bmatrix} x¥¥ y¥¥ z ¥end{bmatrix}
Eosでは次の表現方法を使って指定します。
1.最初の回転軸の指定: X|Y|Z
x、y、z軸のどれを使って回転させるかを示します。
2.次の回転軸の指定: O|E
最初の回転の軸から、x、y、z順(Even)か、z、y、x順(Odd)かを示します。
3.3回目の回転軸の指定: Y|N
第二軸の選択で選んだ順序のまま(Y)か、反転するか(N)かを示します。
4.物体の回転か、軸の回転か: S|R
物体の回転(S)か、 軸の回転(R)かを示します。
例えば、YOYSとは、3次元物体をY->X->Z軸の順に回転することを示しています。
ファイルの作成順
Eosでは入力されたオイラー角からファイルを出力するコマンドがあります。
ファイルは第3軸 → 第2軸 → 第1軸の回転順に作成されます。
例えば、mrc3Dto2Dを使用して、オプション-EAを(YOYS, 0, 90, 360)にした場合、
出力ファイルのz成分 | X軸 | Y軸 | Z軸 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 0 | 0 | 90 |
. | . | . | . |
4 | 0 | 0 | 360 |
5 | 0 | 90 | 0 |
6 | 0 | 90 | 90 |
. | . | . | . |
9 | 0 | 90 | 360 |
10 | 0 | 180 | 0 |
11 | 0 | 180 | 90 |
. | . | . | . |
24 | 0 | 360 | 360 |
25 | 90 | 0 | 0 |
26 | 90 | 0 | 90 |
. | . | . | . |
29 | 90 | 0 | 360 |
30 | 90 | 90 | 0 |
31 | 90 | 90 | 90 |
. | . | . | . |
123 | 360 | 360 | 270 |
124 | 360 | 360 | 360 |
の順に作成されます。