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*M0
与 M'=M0*M1
。 Jim Blinn 在他的 Dirty Pixels 和文章中对齐次坐标做了很好的解释。
Also, this website contains a good walkthrough regarding homogeneous transforms
如果有关于矩阵乘法的问题。 视图投影矩阵的第四行中存储的信息是什么? 我认为旋转和缩放信息存储在上面的 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*M0
与 M'=M0*M1
。 Jim Blinn 在他的 Dirty Pixels 和文章中对齐次坐标做了很好的解释。
Also, this website contains a good walkthrough regarding homogeneous transforms