1

私は棒人間を作成するために OpenGL を使用していますが、これはばかげた質問のように思えるかもしれませんが、四元数を使用して回転を表す場合、回転を原点以外の別の点の周りにしたい場合はどうすればよいですか?単位四元数を使用する必要がありますか? . 私の推測では、回転してから平行移動し、回転の中心を変更することもできます。単位クォータニオンは使用しません。これは正しい道ですか?

4

1 に答える 1

1

コメントで述べたように、非単位四元数は魔法のように任意の点を中心に回転しません。したがって、非単位四元数を使用する必要はありません。あなたがする必要があるのは、回転の中心を原点に変換し、通常どおり四元数で原点を中心に回転させてから、回転の中心に戻すことです。

この変換全体を単一の数学的にクリーンな構成で本当に表現したい場合は、デュアル クォータニオンを使用できますが、これはやり過ぎになると確信しています。

于 2011-08-11T12:29:47.413 に答える