「オイラー角」の版間の差分
提供: Eospedia
行10: | 行10: | ||
¥begin{bmatrix} x'¥¥ y'¥¥ z' ¥end{bmatrix} = R ¥begin{bmatrix} x¥¥ y¥¥ z ¥end{bmatrix} | ¥begin{bmatrix} x'¥¥ y'¥¥ z' ¥end{bmatrix} = R ¥begin{bmatrix} x¥¥ y¥¥ z ¥end{bmatrix} | ||
− | + | [[Eos]]では次の表現方法を使って指定します。 | |
− | 1.最初の回転軸の指定: X|Y|Z | + | 1.最初の回転軸の指定: X|Y|Z<br> |
− | + | x、y、z軸のどれを使って回転させるかを示します。 | |
− | 2.次の回転軸の指定: O|E | + | 2.次の回転軸の指定: O|E<br> |
− | + | 最初の回転の軸から、x、y、z順(Even)か、z、y、x順(Odd)かを示します。 | |
− | 3.3回目の回転軸の指定: Y|N | + | 3.3回目の回転軸の指定: Y|N<br> |
− | + | 第二軸の選択で選んだ順序のまま(Y)か、反転するか(N)かを示します。 | |
− | 4.物体の回転か、軸の回転か: S|R | + | 4.物体の回転か、軸の回転か: S|R<br> |
− | + | 物体の回転(S)か、 軸の回転(R)かを示します。 | |
例えば、YOYSとは、3次元物体をY->X->Z軸の順に回転することを示しています。 | 例えば、YOYSとは、3次元物体をY->X->Z軸の順に回転することを示しています。 | ||
+ | |||
+ | |||
+ | ==ファイルの作成順== | ||
+ | [[Eos]]では入力されたオイラー角からファイルを出力する[[コマンド]]があります。<br> | ||
+ | ファイルは第3軸 → 第2軸 → 第1軸の回転順に作成されます。 | ||
+ | |||
+ | 例えば、[[mrc3Dto2D]]を使用して、オプション-EAを(YOYS, 0, 90, 360)にした場合、 | ||
+ | <table border="1"> | ||
+ | <tr> | ||
+ | <th> | ||
+ | 出力ファイルのz成分</th> | ||
+ | <th> | ||
+ | X軸</th> | ||
+ | <th> | ||
+ | Y軸</th> | ||
+ | <th> | ||
+ | Z軸</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 1</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 4</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 5</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 6</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 9</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 10</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 180</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 11</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 180</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 24</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 25</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 26</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 29</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 30</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 0</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 31</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | <td> | ||
+ | 90</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | <td> | ||
+ | .</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 123</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | <td> | ||
+ | 270</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> | ||
+ | 124</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | <td> | ||
+ | 360</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | の順に作成されます。 |
2013年12月16日 (月) 08:45時点における版
オイラー角(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 |
の順に作成されます。