正投影默认矩阵有:
$$
P_p=Mp\\
M=\begin{bmatrix}
1&0&0&0\\
0&1&0&0\\
0&0&0&0\\
0&0&0&1
\end{bmatrix}
$$
一般实现时,可令$M=I$,再将对应的z分量设置为0
投影中心为原点,投影平面位于$z=d,d<0$
从顶视图和侧视图中计算$x_p,y_p$的值,有 $$ x_p=\frac{x}{z/d}, y_p=\frac{y}{z/d}, z_p=d $$
同样构建投影矩阵$q=Mp$,其中有$x_p=\frac{x}{z/d}, y_p=\frac{y}{z/d}, z_p=d$,
$$
M=\begin{bmatrix}
1&0&0&0\\
0&1&0&0\\
0&0&1&0\\
0&0&1/d&0\\
\end{bmatrix}
$$
有
$$p=\begin{bmatrix}x\\y\\z\\1\end{bmatrix}, q=\begin{bmatrix}x\\y\\z\\z/d\end{bmatrix}$$
ortho(left, right, bottom, top, near, far),其中near和far都指的相对相机的距离
frustuum(left, right, bottom, top, near, far)
由于用frustum函数一般很难得到准确的成像视图,可选择函数perspective(fovy, aspect, near, far),能够提供更好的视图构建形式,其中aspect=w/h