透视投影变换矩阵

方法一:

把视点(xe,ye,ze)平移至原点(0,0,0)的矩阵

对应恢复矩阵(即平移的逆矩阵)

对于视点在(0,0,0),对应【此时】平面方程为a’x’+b’x’+c’z’+d’=0;

视点、p和p’三点共线得:

【此时】空间一点p(x,y,z)在平面上的投影p’=t(x,y,z);  

把p’带入【此时】的平面方程,得到t=-d’/( a'x’+b'y’+c'z’);

最终的最对于任意点并且投影平面的方向也是任意的的透视投影变换矩阵

P=T逆P’T    

*矩阵乘顺序不可交换

方法二(直接直线和面的交点):

视点(xe,ye,ze)空间一点p(x,y,z)在平面上的投影p’=(x',y',z')=t(x,y,z);

平面ax+by+cz+d=0;  把p‘代入  得到t的值;再把t带入参数方程获得p';最终整理得透视投影矩阵P

P=

原文地址:https://www.cnblogs.com/xujiayu/p/4891614.html