11

Y軸が上である座標系があります。Z が UP である座標系に変換する必要があります。クォータニオンに回転を保存しているので、私の質問は次のとおりです。クォータニオン X、Y、Z がある場合、Y を Z に切り替えて、Z が実際に UP であるという結果を得ることができますか?

4

4 に答える 4

10

クォータニオンで 2 つの軸を交換するだけですか? いいえ、これは機能しません。キラリティーが反転するからです。ただし、キラリティーを反転して四元数の実部を無効にすると、元のキラリティーに戻ります。一般的な形式では、これを次のように書くことができます

Q'(Q, i'j'k') = ε i'j'k' Q w _w + Q i _i + Q j _j + Q k _k

どこ

レビ-セビタ記号の定義

は、Levi-Cevita シンボルとして知られる完全反対称テンソルです。

四元数の i²、j²、k² ルールも同じ完全反対称テンソルによって定義されるため、これは驚くべきことではありません。

于 2013-04-19T11:36:17.667 に答える
2

試してください:四元数回転=新しい四元数(X、Z、Y、-W); // Z と Y を交換する必要がありました。

于 2016-01-21T13:24:14.890 に答える
1

いいえ、y と z を交換することはできません。右利きの場合は、左利きの座標系になります (逆も同様です)。

ただし、次の置換を行うことができます。

newX = oldZ
newY = oldX
newZ = oldY

あなたが本当に欲しいのは、x軸を中心とした単純な回転だと思います。そのために y と z を切り替えたい場合は、代わりに +x 軸を中心に -90 度の回転を適用する必要があります (右手座標系を使用していると仮定します)。

于 2013-04-19T11:25:31.567 に答える