n
を単位ベクトル,a
を回転角としたときクォータニオンq=cos(a/2)+n*sin(a/2)
が
n
を回転軸として角度a
回転させることを表現できることは理解できるのですが,
UnityにおけるTransform.rotationのように,任意の姿勢を表現できることが理解できません.
物体の任意の姿勢を表現するためには2回の回転が必要なので,クォータニオンが2つ必要なはずです.
または,物体の向き(Transform.forward)をn
に向け(Transform.LookAt(n)),その後n
を軸として角度a
回転すれば,
任意の姿勢を表すことができますが,a=0
のとき,q=cos(a/2)
となりクォータニオンから回転軸n
の情報が失われています.
クォータニオンはどのようにして任意の姿勢を表現しているのでしょうか?
回答1件
あなたの回答
tips
プレビュー