1

3x3 回転行列を 4x4 行列に変換する方法とは多少異なる問題がありますか? : フラット (z は常に 0 に等しい) ジオメトリでテクスチャを操作する 2D OpenGL コードを書いています。android.graphics.Matrixクラスには、明示的なピボット ポイントを中心とした回転などを実行できる便利なデバッグ済みの便利なメソッドが多数あります。

3x3 行列 (2D アフィン変換を行うことができる) を 4x4 行列に変換することは問題ではありません

a11 a12 a13    a11 a12   0 a13
a21 a22 a23    a21 a22   0 a23
a31 a32 a33      0   0   1   0
               a31 a32   0 a33

...おそらく、転置して列優先にしますか?

4

2 に答える 2

1

アフィン変換のみを行う場合は、そのように機能します。その場合、a31 と a32 は常にゼロにすることができ、a33 はとにかく 1 にする必要があります。このような状況では 2x3 マトリックスを使用できます。また、最新のシェーダー ベースの GL を使用すると、3x3 または 2x3 マトリックスを変換せずに直接操作することもできます。

射影変換を行う場合、行列を 4x4 に拡張しても機能しますが、z 次元に歪みが生じることに注意してください。

于 2013-07-22T21:57:19.787 に答える