4

通常は 4 つの値で記述されるように、クォータニオン回転がありますa b c d。オブジェクトを正面から見るように x 軸を変換するとします。今度はこの回転を変更したいので、オブジェクトを後ろから見ます。基本的には視点を前から後ろに変えたいのですが、この回転を使ってそれを行います。

反対の回転はどのように計算できますか?

4

2 に答える 2

3

ウィキペディアのページから学ぶと、 z軸を中心に 180° 回転させたい場合、対応するクォータニオン回転は次のようになります。

0 0 0 1

ここで重要なのは、ここに画像の説明を入力(w,x,y,z) = (a,b,c,d) という数式です。

実際、cos(90°) = 0 および sin(90°) = 1 なので、alpha を 180° に、uを (0, 0, 1) に置き換えると、(0, 0, 0, 1) が得られます。

編集:クリスチャンが指摘したように、上方向はzである必要はありませんが、任意の単位ベクトルu = (x,y,z) である可能性があります(そうでない場合は、ノルムで割って正規化します)。その場合、対応する 180° クォータリオン回転は次のようになります。

0 x y z

オブジェクトの周りを移動するためにこの回転を適用するには、カメラの方向ベクトル と の位置があるとしますc_posc_dir次に、単純に (左) で共役しq = (0 x y z)、それに応じてカメラの位置を移動します。何かのようなもの

c_dir = q * c_dir * q^-1
c_pos = 2 * o_pos - c_pos

o_posオブジェクトの位置であり、c_dir実数部が 0 の四元数に変換する必要があります。

于 2011-08-02T15:19:15.460 に答える
-2

私の場合、これを助けて..

元の quat (xyzw) 反対向きの quat (y -xw -z)

于 2012-12-05T20:17:13.797 に答える