いつでも医師に相談、gooドクター

直交座標系で定義されている任意のベクトル(x1、y1、z1)に対し、そのベクトル方向に直交座標系のz軸が向くようにするための各軸回りの回転角(θx、θy、θz)の求め方(式)を教えてください。

gooドクター

A 回答 (1件)

「そのベクトル方向に直交座標系のz軸が向く」とすると、問題がおかしくなる(軸が動く?)ので、




点(0、0、1)が任意の点(x1、y1、z1)と同じ向きになるようにするための各軸回りの回転角(θx、θy、θz)の求め方

とういう質問と解釈して回答します。


向きを同じにするだけなら、回転は2軸だけで十分です。

ベクトル(x1、y1、z1)の単位ベクトルを(u、v、w)とします。
点(0、0、1)をy軸回りに回転させて、z座標がwになるようにします。
回転角θyは、θy=arccos(w)であり、回転後の位置は、
(sin(θy)、0、cos(θy))

次に、z軸回りに回転させて、x座標がuになるようにします。
回転角θzは、θz=arccos(u/sin(θy))であり、回転後の位置は、
(sin(θy)cos(θz)、sin(θy)sin(θz)、cos(θy))
(ただし、sin(θy)=0のときは、回転角θzは0とします)


上記では回転軸をy-zとしましたが、x-z、x-y、y-xでも可能です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング