私はオーガで働いていますが、それは一般的なクォータニオンの問題です。
最初に回転クォータニオンQ1を適用するオブジェクトがあります。後で、最初に別のクォータニオンQ2でオブジェクトを回転させたかのように作成したいと思います。
Q1で既に回転しているオブジェクトを取得するクォータニオンを計算し、Q2を初期/デフォルトの方向に適用するだけであるかのように整列するにはどうすればよいですか?私は(s)lerpingを見ていましたが、これがrotationsではなくorientationsでのみ有効かどうかはわかりません。
Q1とQ2の逆数が必要なようです。 Q1の逆数で変換すると、オブジェクトが元のフレーム(あなたが言うように最初の方向)に回転して戻り、Q2で変換すると、オブジェクトが新しい方向に回転します。
クォータニオンの標準的な定義では、右から左への乗算順序で変換が適用されるため、これをQ = Q2 * Q1 ^ {-1}として計算する必要があることに注意してください。
このように考えてください
QInitial * QTransition = QFinal
両側にQInitial ^ {-1}を掛けてQTransitionを解きます(^ {-1}は四元数共役です)
QTransition = QFinal * QInitial^{-1}
とても簡単です。