「オイラー角」の版間の差分
提供: 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 |
の順に作成されます。