私はオーガーで働いていますが、一般的な四元数問題です。2つの四元数の「差」
私は最初に回転四元数Q1を適用するオブジェクトを持っています。後で、最初に別のクォータニオンQ2でオブジェクトを回転したかのようにしたいと思います。
Q2を初期/デフォルトの向きに適用した場合のように、Q1によって回転されたオブジェクトを受け取る四元数をどのように計算すればよいですか?私はlerpingを見ていましたが、オリエンテーションではなく、ローテーションで有効なのかどうかわかりません。
私はオーガーで働いていますが、一般的な四元数問題です。2つの四元数の「差」
私は最初に回転四元数Q1を適用するオブジェクトを持っています。後で、最初に別のクォータニオンQ2でオブジェクトを回転したかのようにしたいと思います。
Q2を初期/デフォルトの向きに適用した場合のように、Q1によって回転されたオブジェクトを受け取る四元数をどのように計算すればよいですか?私はlerpingを見ていましたが、オリエンテーションではなく、ローテーションで有効なのかどうかわかりません。
Q2のQ1倍の逆数が必要なようです。 Q1の逆数を変換すると、元のフレーム(最初の方向)にオブジェクトが回転し、Q2で変形すると新しい方向に回転します。
クォータニオンの標準定義では、右から左への乗算の順番で変換が適用されるので、Q = Q2 * Q1^{ - 1}として計算することになります。その
思うこのようQInitial ^によって両側を掛けてQTransitionについて解く
QInitial * QTransition = QFinal
{ - 1}(^ { - 1}である四元複合体)
QTransition = QFinal * QInitial^{-1}
それはちょうどですそれは簡単です。
これは古いトピックを復活させていますが、なぜこれが正しいのですか?私はそれがコードであることを確認することができますが、行列の回転は私の周りの逆の動作をします。例えば。私がMInitiaを削除したいのであれば、MInitial^-1 * MInitial = Midentityから、左からMInitial^-1で両辺を乗算します。 –
クォータニオンの「乗算」は、行列の乗算と逆のものではありません。私はウェブ上の確かな説明を見つけることができませんが、私はそれがカピパーズの "クォータニオンとローテーションシーケンス"にあることを知っています。 (http://www.amazon.com/Quaternions-Rotation-Sequences-Applications-Aerospace/dp/0691102988) - 私はあなたがそれを自分自身に証明するためにその本を買うべきだと言っているわけではない)、それはMatrixとQuaternionの操作命令の違いについて学んでいるところです。 – fbl
応答いただきありがとうございます。もし私が何度か立ち往生すれば私はこの本を買うつもりですが、今のところ私はうまくいきます。 :) –
いくつかの回答を正しいとマークするのはどうですか? また、数学のオーバーフローを見てください... (クォータリオンズは私を完全に怒らせてしまいますし、回答もできません) –