3

するとpositionVector*worldMatrix、位置がワールド空間に変換されます。worldMatrix*positionVectorしかし、3 次元空間に関して( ) 逆にするとどうなるでしょうか?

結果が最初のものと異なることに気付きました。私はすでにマトリックスについてグーグルで検索しました.数学は多くのことを説明していますが、これはそうではありません.少なくとも私はそれを見つけることができませんでした.

4

4 に答える 4

10

他の人が示したように、乗算の順序を入れ替えることは、転置による乗算と同じです。たまたま、回転行列は、直交行列として知られる特別なタイプの行列であり、これにより多くの優れたプロパティが得られます。

最も興味深いのは、おそらく行列の転置がその逆であることです。ワールド トランスフォームでは、逆数を乗算することは、ワールド スペース内の位置を取得し、トランスフォームが関連付けられているオブジェクトのローカル座標に引き込むことと同じです。

例として、世界で任意に方向付けられたボックスを考えてみましょう - 逆世界変換を乗算すると (もちろん完全にアプリケーションに依存します:)) 軸が整列された空間にあなたを置くことができます。ボックスのローカル空間で計算を行う他のオブジェクトは、これをより簡単にします。

于 2009-02-25T04:15:03.770 に答える
1

行列の計算規則:

サイズが MxN と OxPの行列ABが与えられた場合、

  • 行列積A * Bは、N=O の場合にのみ定義されます。
  • 結果は、サイズ MxP の行列になります。

もう 1 つの重要なルールは、行列の乗算は可換ではないということです。 A * B != B * A

通常、コンピューター グラフィックスでは、位置ベクトルは 4x1 マトリックスで、ワールド ビュー マトリックスは 4x4 の正方形です。したがって、ワールド ビュー マトリックスに位置ベクトルを事前に乗算すると、未定義になることが予想されます。ワールド ビュー マトリックスを位置ベクトルに適用する適切な方法は、逆の順序で、位置ベクトルにワールド ビュー マトリックスを事前に乗算することです。(ここでは数学的に話しています)

行列の計算をもっと楽しくするには、このチュートリアルをチェックしてください。

于 2009-02-25T03:52:46.180 に答える