18

クォータニオンを方向ベクトルに変換することについてはたくさんの質問を見つけることができますが、何か間違ったことをしていると思わせるような逆の質問はありませんが、我慢してください。

私がやろうとしているのは、矢印モデルを使用して指向性ライトの方向を表示することです。

ディレクショナル ライトの方向は単位ベクトルですが、モデルはクォータニオンを使用して回転されます。

では、このモデルを回転させて光の方向に合わせるにはどうすればよいでしょうか?

それとも、ライトには位置がなく、モデルには位置があることを考えると、私は頭がおかしいので、実際にはそれを行うことはできませんか?

4

1 に答える 1

15

方向ベクトルは定義された回転ではありませんが、可能な解は無限にあります。軸を中心に回転する方法については、情報がないことを参照してください。2 つ目は、ベクトルと回転 (意味のある中心を持つ) と同じようにベクトルが可能であり、実際には完全に定義された行列です。

あなたの場合、回転はかなり無意味なので、参照用にアップベクトルを使用してください(つまり、ライトが上から下に、またはその逆に輝いていない限り、別の参照が必要です)。

したがって、方向ベクトル D と上方向ベクトル U の外積を横ベクトル S に対して取り、D と S を交差させて新しい U nを求めます。次に、D、U n、S を行列として行 (計算ルールの設定方法に応じて列) として使用します。四元数への行列はよく知られている数学です。

于 2013-04-08T10:11:16.787 に答える