3次元ベクトルの回転は,四元数を使って計算することができます。
( | | = 1 ) を回転軸とする θ 回転で,A が B に移るとします。
また,A の回転面と の交点を P とします。
Q の座標 (qx, qy, qz),A の座標 (ax, ay, az),角度θ に対する B の座標 (bx, by, bz) は,つぎのようにして求められます:
M =
cos(θ/2)
+ qx sin(θ/2) i
+ qy sin(θ/2) j
+ qz sin(θ/2) k
=
cos(ーθ/2)
+ qx sin(ーθ/2) i
+ qy sin(ーθ/2) j
+ qz sin(ーθ/2) k
とするとき,
M ×
(ax i
+ ay j
+ az k)
×
=
bx i
+by j
+bz k
回転の計算公式が導かれるプロセス
|