请写出当透视投影中心为原点投影平面为z=3时的透视投影矩阵。
假设物体坐标系中的点为 $(x,y,z)$,则其在投影平面上的坐标为 $(x_p,y_p,3)$。根据透视投影的原理,有:
$$\begin{bmatrix}x_p\y_p\1\end{bmatrix} = \begin{bmatrix}f/z & 0 & 0\0 & f/z & 0\0 & 0 & 0\end{bmatrix} \begin{bmatrix}x\y\z\end{bmatrix}$$
其中,$f$ 是透视投影中心到投影平面的距离,为了方便计算,我们可以将投影平面移到原点上,即将所有点的 $z$ 坐标减去 3。这样,上式就可以写成:
$$\begin{bmatrix}x_p\y_p\1\end{bmatrix} = \begin{bmatrix}f/(z-3) & 0 & 0\0 & f/(z-3) & 0\0 & 0 & 0\end{bmatrix} \begin{bmatrix}x\y\z-3\end{bmatrix}$$
将上式中的 $x_p$ 和 $y_p$ 除以 $z-3$,得到:
$$\begin{bmatrix}x_p/(z-3)\y_p/(z-3)\1\end{bmatrix} = \begin{bmatrix}f/z & 0 & 0\0 & f/z & 0\0 & 0 & 0\end{bmatrix} \begin{bmatrix}x/(z-3)\y/(z-3)\1\end{bmatrix}$$
这就是透视投影矩阵,即:
$$\begin{bmatrix}f/z & 0 & 0 & 0\0 & f/z & 0 & 0\0 & 0 & 0 & 0\0 & 0 & -1/(z-3) & 1\end{bmatrix}$$
其中,第四行是为了将坐标变换成齐次坐标形式而添加的
原文地址: https://www.cveoy.top/t/topic/ho5S 著作权归作者所有。请勿转载和采集!