質問

私は物理学者であり、いくつかのプログラミングを学んでおり、マトリックス/ベクトル形式で物を書くのではなく、Quaternionsを使用して回転に使用している多くの人々に出くわしています。

物理学では、私たちがQuaternionsを使用しない非常に良い理由があります(ハミルトン/ギブスなどについて時々語られた奇妙な物語にもかかわらず)。物理学では、私たちの説明が良好な分析的挙動を持っていることが必要です(これは正確に定義された意味を持っていますが、通常のイントロクラスで教えられているものをはるかに超えるいくつかの技術的な方法では、私は詳しく説明しません)。 Quaternionsにはこの素晴らしい動作がないため、有用ではなく、ベクター/マトリックスが使用するため、使用します。

ただし、分析構造を使用しない剛性回転と説明に限定されているため、3D回転はどちらの方法でも同等に説明できます(または他のいくつかの方法)。

一般的に、xの制約を条件として、ポイントx =(x、y、z)を新しいポイントx '=(x'、y '、z')にマッピングする必要があります。2 = x '2. 。そして、これを行うことがたくさんあります。

素朴な方法は、これを定義する三角形を描画し、三角法を使用するか、ポイント(x、y、z)とベクトル(x、y、z)と関数f(x)= x 'との間の異性体を使用することです。マトリックスmx = x '、またはQuaternionsを使用するか、他の方法(x、y、z)を使用して、新しいベクトルに沿って古いベクトルのコンポーネントを投影するt。(a、b、c)(x '、y'、z ')など

数学の観点から、これらの説明はすべてこの設定で(定理として)同等です。それらはすべて、同じ数の自由度、同じ数の制約などを持っています。

では、なぜQuaternionsはベクターよりも好まれるように見えるのでしょうか?

私が見る通常の理由は、ジンバルロックや数値の問題ではありません。

これはオイラーの角度の問題にすぎないため、ジンバルロックの引数は奇妙に見えます。また、座標の問題にすぎません(極座標のr = 0の特異点(ヤコビアンはランクを緩めます))は、局所的な問題にすぎないことを意味し、座標を切り替えることで解決して、縮退から回転することで解決できます。または、2つの重複する座標系を使用します。

これらの両方(およびすべての代替案)がどのように実装されるかを詳細に知らないため、数値の問題についてはあまり確信が持てません。 Quaternionを再定式化することは、回転マトリックスに対してそれを行うよりも簡単であると読んだことがありますが、これは一般的なマトリックスにのみ当てはまります。回転には、これを些細なもの(Quaternionsの定義に組み込まれている)を些細な制約があります(実際、同じ数の自由度があるため、これは真実でなければなりません)。

では、ベクターやその他の代替品よりも四項を使用する理由は何ですか?

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top