c – VP Matrix的第四行

如果有关于矩阵乘法的问题.
存储在View Projection Matrix第四行的信息是什么?
我认为旋转和缩放信息存储在上面的3×3矩阵中,然后在第四列中进行平移,最后一个元素设置为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

谢谢你的帮助!

解决方法

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

Also,this website contains a good walkthrough regarding homogeneous transforms

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...