回転
点を回転させる
3次元の点をX軸、Y軸、Z軸を中心に回転させます。
ある点の座標を(X1,Y1,Z1)とします。
その点をΘ回転させた後の点の座標を(X2,Y2,Z2)とすると、
X軸を中心に回転
[ X2 Y2 Z2 W ]=
[ X1 Y1 Z1 1 ] | 1 | 0 | 0 | 0 | ||
0 | cosΘ | sinΘ | 0 | |||
0 | -sinΘ | cosΘ | 0 | |||
0 | 0 | 0 | 1 |
X2 = X1
Y2 = Y1cosΘ - Z1sinΘ
Z2 = Y1sinΘ + Z2cosΘ
Y軸を中心に回転
[ X2 Y2 Z2 W ]=
[ X1 Y1 Z1 1 ] | cosΘ | 0 | -sinΘ | 0 | ||
0 | 1 | 0 | 0 | |||
sinΘ | 0 | cosΘ | 0 | |||
0 | 0 | 0 | 1 |
X2 = X1cosΘ + Z1sinΘ
Y2 = Y1
Z2 = -X1sinΘ + Z1cosΘ
Z軸を中心に回転
[ X2 Y2 Z2 W ]=
[ X1 Y1 Z1 1 ] | cosΘ | sinΘ | 0 | |||
-sinΘ | cosΘ | 0 | 0 | |||
0 | 0 | 1 | 0 | |||
0 | 0 | 0 | 1 |
X2 = X1cosΘ - Y1sinΘ
Y2 = X1sinΘ + Y1cosΘ
Z2 = Z1
となります。
これをアクションスクリプトで表す場合FlashPlayer10以降からは非常に簡単になりました。上記の計算等は一切いりません。
X軸を中心に回転
Y軸を中心に回転
Z軸を中心に回転
となります。