クォータニオン回転は、オブジェクトが回転するX、Y、Zと、オブジェクトをその軸上で回転させるロールを持つ単なるベクトルですか?
そんなに簡単ですか?
X = 0、Z = 0、Y = 1の場合、オブジェクトは上向きになりますか?
また、Y = 0、Z = 0、X = 1の場合、オブジェクトは右向きになりますか?
(Xが右、Yが上、Zの深さを想定)
クォータニオン回転は、オブジェクトが回転するX、Y、Zと、オブジェクトをその軸上で回転させるロールを持つ単なるベクトルですか?
そんなに簡単ですか?
X = 0、Z = 0、Y = 1の場合、オブジェクトは上向きになりますか?
また、Y = 0、Z = 0、X = 1の場合、オブジェクトは右向きになりますか?
(Xが右、Yが上、Zの深さを想定)
クォータニオンには4つのコンポーネントがあり、角度θと軸ベクトルnに関連付けることができます。回転すると、オブジェクトは軸nを中心に角度θだけ回転します。
たとえば、次のような立方体がある場合
______
|\ 6 \
| \_____\ z
|5 | | : y ^
\ | 4 | \|
\|____| +--> x
次に、軸(x = 0、y = 0、z = 1)を中心に90°回転すると、「5」面が左から前に回転します。
______
|\ 6 \
| \_____\ z
|3 | | : x ^
\ | 5 | \|
\|____| y<--+
(注:これは回転の軸/角度の説明であり、OPが混乱させるものです。クォータニオンが回転にどのように適用されるかについては、http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotationを参照してください)
一般に、クォータニオンは複素数を4次元に拡張したものです。つまり、それらはx、y、z、および角度だけではなく、近いものです。以下の詳細...
クォータニオンは回転を表すために使用できるため、グラフィックスに役立ちます。
ユニットクォータニオンは、オブジェクトの方向と回転を3次元で表すための便利な数学表記を提供します。オイラー角と比較して、構成が簡単で、ジンバルロックの問題を回避できます。回転行列と比較して、それらは数値的に安定しており、より効率的である可能性があります。
では、4つのコンポーネントとは何ですか?また、それらは回転とどのように関連していますか?
[ユニットクォータニオン]点(w、x、y、z)は、ベクトル(x、y、z)によって方向付けられた軸の周りの回転を角度alpha = 2 cos -1 w = 2 sin -1 sqrt(x 2 + y 2 + z 2)。
では、質問に戻りましょう。
X = 0、Z = 0、Y = 1の場合、オブジェクトは上向きになりますか?
いいえ...オブジェクトはこの<0,1,0>
ベクトルを中心に回転します。つまり、グラフィックシステムが右回転を使用している場合、オブジェクトはy軸を中心に回転し、上から見て反時計回りに回転します。(そして、w = sqrt(1-(0 + 1 + 0))を接続すると、ユニットクォータニオンは(0,0,1,0)になり、角度2 cos -1 0、=2*で回転します。 90度=180度またはpiラジアン。)
また、Y = 0、Z = 0、X = 1の場合、オブジェクトは右向きになりますか?
これはベクトル<1,0,0>
x軸を中心に回転するため、正のx方向(右など)から見て反時計回りに回転します。したがって、上部は前方に回転します(180度なので、下を向くまで回転します)。