【发布时间】:2015-07-30 10:28:20
【问题描述】:
我有一个用于 2D 齐次坐标的 3x3 变换矩阵:
a b c
d e f
g h i
我想在 2D 应用程序中将它传递给 OpenGL(使用 glMultMatrix),但 OpenGL 需要 4x4 矩阵用于 3D 齐次坐标。我希望我的 4x4 矩阵转换的所有坐标都以 x 和 y 结束,与 3x3 矩阵和 z=0 相同。
我已经尝试解决了。对于向量x, y, 1,我最终会得到转换后的向量ax + by + c, dx + ey + f, gx + hy + i,这意味着对于向量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
这是正确的吗?它有效吗?我不认为这是唯一能给出我正在寻找的结果的矩阵,但我不太明白第三行和第四行(以及第四列)应该或不应该去什么。
【问题讨论】:
标签: opengl matrix coordinates coordinate-transformation homogenous-transformation