「オイラー角」の版間の差分

提供: Eospedia
移動: 案内検索
 
(2人の利用者による、間の2版が非表示)
行6: 行6:
 
  R = Ri * Rj * Rk
 
  R = Ri * Rj * Rk
  
という3つの回転により表現できます。このとき、物体上の点(x, y, z)はこの回転行列により、(x', y', z')へと変換されます。
+
という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}
 
  ¥begin{bmatrix} x'¥¥ y'¥¥ z' ¥end{bmatrix} = R ¥begin{bmatrix} x¥¥ y¥¥ z ¥end{bmatrix}
行25: 行28:
 
<br>
 
<br>
  
1.最初の回転軸の指定:      X|Y|Z<br>
+
1.最初の回転軸の指定(3通り):      X|Y|Z<br>
 
  x、y、z軸のどれを使って回転させるかを示します。
 
  x、y、z軸のどれを使って回転させるかを示します。
  
行42: 行45:
 
<br>
 
<br>
  
2.次の回転軸の指定:        O|E<br>
+
2.次の回転軸の指定(2通り):        O|E<br>
 
  最初の回転の軸から、x、y、z順(Even)か、z、y、x順(Odd)かを示します。
 
  最初の回転の軸から、x、y、z順(Even)か、z、y、x順(Odd)かを示します。
  
行58: 行61:
 
<br>
 
<br>
  
3.3回目の回転軸の指定:    Y|N<br>
+
3.3回目の回転軸の指定(2通り):    Y|N<br>
 
  第二軸の選択で選んだ順序のまま(Y)か、反転するか(N)かを示します。
 
  第二軸の選択で選んだ順序のまま(Y)か、反転するか(N)かを示します。
  
行64: 行67:
 
<table>  
 
<table>  
 
<tr>  
 
<tr>  
<td>y軸 -> x軸の物体回転(YOYS)<br>
+
<td>y軸 -> x軸 -> z軸の回転(YOYS)<br>
 
[[画像:Input-YOYS2.png]]<br>
 
[[画像:Input-YOYS2.png]]<br>
 
</td>  
 
</td>  
<td>y軸 -> x軸の軸回転(YOYR)<br>
+
<td>y軸 -> x軸 -> y軸の回転(YONS)<br>
 
[[画像:Input-YONS.png]]<br>
 
[[画像:Input-YONS.png]]<br>
 
</td>  
 
</td>  
行80: 行83:
 
<table>  
 
<table>  
 
<tr>  
 
<tr>  
<td>y軸 -> x軸の物体回転(YOYS)<br>
+
<td>y軸 -> x軸->z軸の物体回転(YOYS)<br>
 
[[画像:Input-YOYS1.png]]<br>
 
[[画像:Input-YOYS1.png]]<br>
 
</td>  
 
</td>  
<td>y軸 -> x軸の軸回転(YOYR)<br>
+
<td>y軸 -> x軸->z軸の軸回転(YOYR)(z->x軸の物体回転に対応)<br>
 
[[画像:Input-YOYR.png]]<br>
 
[[画像:Input-YOYR.png]]<br>
 
</td>  
 
</td>  
行103: 行106:
 
出力ファイルのz成分</th>
 
出力ファイルのz成分</th>
 
<th>
 
<th>
X軸</th>
+
第1軸(y軸)</th>
 
<th>
 
<th>
Y軸</th>
+
第2軸(x軸)</th>
 
<th>
 
<th>
Z軸</th>
+
第3軸(z軸)</th>
 
</tr>  
 
</tr>  
 
<tr>  
 
<tr>  

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では次の表現方法を使って指定します。

入力ファイルの画像

Input-CircleTriangle.png
xy平面

Input1-CircleTriangle.png
yz平面


1.最初の回転軸の指定(3通り): X|Y|Z
  x、y、z軸のどれを使って回転させるかを示します。

例. mrc3Dto2Dにて第1軸を0 ~ 340° (20° 刻み)で回転させたときの違い(xy平面)
x軸の回転(XOYS)

Input-XOYS.png
y軸の回転(YOYS)
Input-YOYS.png
z軸の回転(ZOYS)
Input-ZOYS.png


2.次の回転軸の指定(2通り): O|E
  最初の回転の軸から、x、y、z順(Even)か、z、y、x順(Odd)かを示します。

例. mrc3Dto2Dにて第1、2軸を0 ~ 340° (20° 刻み)で回転させたときの違い(xy平面)(横が第2軸の回転)
y軸 -> x軸の回転(YOYS)

Input-YOYS1.png

y軸 -> z軸の回転(YEYS)

Input-YEYS.png


3.3回目の回転軸の指定(2通り): Y|N
  第二軸の選択で選んだ順序のまま(Y)か、反転するか(N)かを示します。

例. mrc3Dto2Dにて第1、2を0 ~ 60° (30° 刻み)3軸を0 ~ 340° (20° 刻み)で回転させたときの違い(xy平面)(横が第3軸の回転)
y軸 -> x軸 -> z軸の回転(YOYS)

Input-YOYS2.png

y軸 -> x軸 -> y軸の回転(YONS)

Input-YONS.png


4.物体の回転か、軸の回転か: S|R
  物体の回転(S)か、 軸の回転(R)かを示します。

例. mrc3Dto2Dにて第1、2軸を0 ~ 340° (20° 刻み)で回転させたときの違い(xy平面)
y軸 -> x軸->z軸の物体回転(YOYS)

Input-YOYS1.png

y軸 -> x軸->z軸の軸回転(YOYR)(z->x軸の物体回転に対応)

Input-YOYR.png


例えば、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

の順に作成されます。