2D 同次座標の 3x3 変換行列があります。
a b c
d e f
g h i
これを 2D アプリケーションで ( を使用して) OpenGL に渡したいのglMultMatrix
ですが、OpenGL は 3D 同次座標に 4x4 行列を使用します。x
4x4 マトリックスによって変換されたすべての座標が、3x3 マトリックスとy
同じになるようにしたいと思いz=0
ます。
私はそれを解決しようとしました。ベクトルの場合、変換されたベクトルで終わるので、ベクトルの場合x, y, 1
、変換されたベクトルで終わることをax + by + c, dx + ey + f, gx + hy + i
意味します。これを行う1つのマトリックスは(私が知る限り):x, y, 0, 1
ax + by + c, dx + ey + f, 0, ?
a b 0 c
d e 0 f
0 0 1 0
0 0 0 1
これは正しいです?それは機能しますか?これが私が探している結果を与える唯一のマトリックスではないと思いますが、3 行目と 4 行目 (および 4 列目) に何を入れるべきか、または入れるべきでないかはよくわかりません。