VP矩阵第四行

Fourth row of VP Matrix

如果有关于矩阵乘法的问题。 视图投影矩阵的第四行中存储的信息是什么? 我认为旋转和缩放信息存储在上面的 3x3 矩阵中,然后在第四列中进行平移,最后一个元素设置为 1。 我很挣扎,因为我的 VP 矩阵得到了以下结果:

不应用旋转和平移时(注意所有值都四舍五入):

0.34 0 0 0
0 0.61 0 0
0 0 -1 -0.2
0 0 -1 0

按-100 应用翻译:

0.34 0 0 0
0 0.61 0 -61.73
0 0 -1 -0.2
0 0 -1 0

平移-100,然后沿正X轴旋转30°,然后沿正Y轴旋转180°:

-0.34 0 -3 0
0 0.53 0.3 -53.46
0 -0.5 0.86 49.8
0 -0.5 0.8 50

我觉得不对。有趣的部分:它有效。那么这一行的信息是什么?

0 -0.5 0.8 50

感谢您的帮助!

对我来说,你的矩阵看起来有点奇怪。通常,第四行将包含齐次坐标系的第 4 个分量,即类似 [x,y,z]/w 的东西,需要将整行加起来为 1 才能进行仿射变换。我猜你的矩阵是有效的,因为第四行中的奇数被分解到矩阵的上部 3x3 部分。您是否尝试更改矩阵连接的顺序,例如 M'=M1*M0M'=M0*M1。 Jim Blinn 在他的 Dirty Pixels 和文章中对齐次坐标做了很好的解释。

Also, this website contains a good walkthrough regarding homogeneous transforms