オリエンテーション
方向は、変換が座標系内でオブジェクトを方向付ける方法です。方向は、位置やスカラーのような絶対量です。向きは概念的には値です。また、表現に応じて、向きに適用できる操作があります。
ベクトルやスカラーとは異なり、方向はさまざまな方法で表すことができます。
「オイラー角を使用する」とはどういう意味ですか?
オイラー角は、3 つの固定された直交軸を中心とした一連の 3 つの回転です。これらが適用される順序は重要であり、一般に慣例によって確立されています。
「オイラー角を使用する」とは、コードがオブジェクトの向きを格納および操作する方法がオイラー角であることを意味します。これらの角度を最終的に構成して行列を生成する方法は重要ではありません。重要なのは、コードが向きを 3 つの角度として扱うことです。たとえば、方向に回転オフセットを適用すると、それは回転角度のオフセットとして提供され、これらのオフセットは保存されているオイラー角度に直接適用されます。
「マトリックスを使用する」とはどういう意味ですか?
誰もそんなことを言っていないことは知っていますが、ここで言いたいことがあります。
「行列を使用する」とは、コードがオブジェクトの向きを格納および操作する方法が回転行列であることを意味します。コードの一部がオブジェクトを回転させたい場合、左側または右側にマトリックスを適用します。その行列が軸回転によって計算されたとしても、コードは角度ではなく、行列に対して基本的な操作を実行しています。
「クォータニオンを使用する」とはどういう意味ですか?
この議論の目的のために、「クォータニオン」は、方向をエンコードするために使用される 4 要素の単位ベクトルです。クォータニオンには、合成や反転などの行列のような操作を実行できます。向きを適切にエンコードするには、クォータニオンを正規化したままにする必要があります。
「クォータニオンを使用する」とは、オブジェクトの方向と操作をクォータニオンとして保存していることを意味します。オリエンテーションに関するすべての操作は、最も基本的なレベルで、四元数の計算を扱っています。
向きの調整方法
オイラー角は、(理論的には) 直観的に調整できるため、よく使用されます。角度を増減するだけです。オブジェクトを X 方向に -10 度回転させたい場合は、X 軸の回転から 10 を引くだけです。しかし、それらはひどいので使いたくないので、他の方向表現を見てみましょう。
方向をマトリックスとして調整するには、2 つのことを行う必要があります。現在の向きにオフセット回転行列を乗算する必要があります (X 軸で -10 度回転する場合は、そのための角度/軸行列を作成し、それを右乗算します)。次に、コンピューターの精度は有限であるため、行列を再度直交正規化する必要があります。2 番目のステップを実行しないと、行列は最終的に正規直交でなくなり、方向性もなくなります。
行列の直交正規化は困難です。これが、代わりにクォータニオンを使用する理由 (の一部) です。四元数の正規化は簡単です。それは単なる 4 要素ベクトルの正規化です。また、クォータニオンと行列には類似の操作があるため、同じ数学が両方で機能します。したがって、それらはほとんど同じように見えます。