看到助教是从物理的角度来解释,我是从数值计算的角度来考虑的,分享一下我的思考,不一定正确,求讨论。
(x,y,z,1)经过将视锥压到长方体的矩阵计算后,坐标变为(nx,ny,(n+f)z-nf,z),这个时候,如果n是正,z为负,那么就会改变x,y的正负号。
另外,如果n,f是正,还有两个影响的地方:
1.将视锥压到长方体的时候,三角形的顶点坐标是在视锥外的,而且是视锥相对在原点的对侧,做了同样的变换后,感觉像是关于原点的小孔成像一样的变换(比例不太一样)。所以,再经过正交投影后可以有图形,我觉得是一个巧合,恰好经过将视锥压到长方体的矩阵计算后,还落在了长方体内,这样才在最后的结果有了成像(z的改变,可能会造成变换后不在这个长方形内,可能就看不到了。而且如果这个z是接近于0,那么三角形会非常大,如果趋近于无穷,又会非常小)
2.如果n,f是正的,那么n->1,f->-1],变成f->1,n-1。(这个我是自己推断,不知道是否真的是这样)
-
This reply was modified 4 years, 6 months ago by
sublimation.