するとpositionVector*worldMatrix
、位置がワールド空間に変換されます。worldMatrix*positionVector
しかし、3 次元空間に関して( ) 逆にするとどうなるでしょうか?
結果が最初のものと異なることに気付きました。私はすでにマトリックスについてグーグルで検索しました.数学は多くのことを説明していますが、これはそうではありません.少なくとも私はそれを見つけることができませんでした.
他の人が示したように、乗算の順序を入れ替えることは、転置による乗算と同じです。たまたま、回転行列は、直交行列として知られる特別なタイプの行列であり、これにより多くの優れたプロパティが得られます。
最も興味深いのは、おそらく行列の転置がその逆であることです。ワールド トランスフォームでは、逆数を乗算することは、ワールド スペース内の位置を取得し、トランスフォームが関連付けられているオブジェクトのローカル座標に引き込むことと同じです。
例として、世界で任意に方向付けられたボックスを考えてみましょう - 逆世界変換を乗算すると (もちろん完全にアプリケーションに依存します:)) 軸が整列された空間にあなたを置くことができます。ボックスのローカル空間で計算を行う他のオブジェクトは、これをより簡単にします。
行列の計算規則:
サイズが MxN と OxPの行列AとBが与えられた場合、
もう 1 つの重要なルールは、行列の乗算は可換ではないということです。 A * B != B * A
通常、コンピューター グラフィックスでは、位置ベクトルは 4x1 マトリックスで、ワールド ビュー マトリックスは 4x4 の正方形です。したがって、ワールド ビュー マトリックスに位置ベクトルを事前に乗算すると、未定義になることが予想されます。ワールド ビュー マトリックスを位置ベクトルに適用する適切な方法は、逆の順序で、位置ベクトルにワールド ビュー マトリックスを事前に乗算することです。(ここでは数学的に話しています)
行列の計算をもっと楽しくするには、このチュートリアルをチェックしてください。