「オイラー角」の版間の差分
行83: | 行83: | ||
<table> | <table> | ||
<tr> | <tr> | ||
− | <td>y軸 -> | + | <td>y軸 -> x軸->z軸の物体回転(YOYS)<br> |
[[画像:Input-YOYS1.png]]<br> | [[画像:Input-YOYS1.png]]<br> | ||
</td> | </td> | ||
− | <td>y軸 -> | + | <td>y軸 -> x軸->z軸の軸回転(YOYR)(z->x軸の物体回転に対応)<br> |
[[画像:Input-YOYR.png]]<br> | [[画像:Input-YOYR.png]]<br> | ||
</td> | </td> |
2015年6月22日 (月) 18:24時点における最新版
オイラー角(Euler angle)とは、3次元物体の回転方向を指定するための方法である。
3つの異なる軸周りの回転により組み合わされます。x, y, z軸周りの回転行列をRi, i=x or y or zで表現するとすると 物体の回転行列Rは
R = Ri * Rj * Rk
という3つの回転により表現できます。その可能性として、第一回転で3通りの軸の選択、第二回転で、それ以外の2軸、第三回転で、それ以外の2軸の選択があり得るので、全部で12通りの表現方法がある。 加えて、物体の回転及び軸の回転の表現の2つの方法がある。
このとき、物体上の点(x, y, z)はこの回転行列により、(x', y', z')へと変換されます。
¥begin{bmatrix} x'¥¥ y'¥¥ z' ¥end{bmatrix} = R ¥begin{bmatrix} x¥¥ y¥¥ z ¥end{bmatrix}
Eosでは次の表現方法を使って指定します。
入力ファイルの画像
1.最初の回転軸の指定(3通り): X|Y|Z
x、y、z軸のどれを使って回転させるかを示します。
x軸の回転(XOYS) |
2.次の回転軸の指定(2通り): O|E
最初の回転の軸から、x、y、z順(Even)か、z、y、x順(Odd)かを示します。
y軸 -> x軸の回転(YOYS) |
y軸 -> z軸の回転(YEYS) |
3.3回目の回転軸の指定(2通り): Y|N
第二軸の選択で選んだ順序のまま(Y)か、反転するか(N)かを示します。
y軸 -> x軸 -> z軸の回転(YOYS) |
y軸 -> x軸 -> y軸の回転(YONS) |
4.物体の回転か、軸の回転か: S|R
物体の回転(S)か、 軸の回転(R)かを示します。
y軸 -> x軸->z軸の物体回転(YOYS) |
y軸 -> x軸->z軸の軸回転(YOYR)(z->x軸の物体回転に対応) |
例えば、YOYSとは、3次元物体をY->X->Z軸の順に回転することを示しています。
ファイルの作成順
Eosでは入力されたオイラー角からファイルを出力するコマンドがあります。
ファイルは第3軸 → 第2軸 → 第1軸の回転順に作成されます。
例えば、mrc3Dto2Dを使用して、オプション-EAを(YOYS, 0, 90, 360)にした場合、
出力ファイルのz成分 | 第1軸(y軸) | 第2軸(x軸) | 第3軸(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 |
の順に作成されます。