1.投影变换
上一章已经介绍了投影变换,就是将三维图像投影到二维平面上,而投影变换又分为正交投影(Orthographic Projection)和透视投影(Perspective Projection)。如下图:
正交投影
没有近大远小的现象,无论图形与视点距离是远是近,图形多大画出来的图形就是多大。假设相机距离拉到无限远,远近物体的大小无限接近,所以显示不同距离的物体画面显示一样大小。正交投影会通过远近裁剪面、前后裁剪面、上下裁剪面六个面确定一个可视空间,在可视空间中的物体才能被看到,被映射在近裁剪面(Near clip plane)上。
透视投影
有近大远小的现象,更接近肉眼看到的画面,应用更加常见。假设相机放在某一个点投射出一个视锥空间,在视锥空间中通过近裁剪面和远裁剪面(Far clip plane)可以裁出一个椎体空间,这个空间称为透视投影的可视空间,在可视空间里的物体被映射到近裁剪面上。
2.正交投影
2.1简单的理解
1.相机在原点,方向是-z方向,上方向是Y轴。(上一章提到的相机标准位置)
2.扔掉z轴。如下图所示,物体映射到平面上跟Z轴坐标无关(这样无法判断物体前后)。
3.可以看出只要将物体平移和缩放到[-1,1]²矩阵里。到这个矩阵为了之后方便计算。
2.2正式推导正交投影矩阵
我们想要将一个长方体[l,r]×[b,t]×[f,n]映射到标准立方体(canonical cube)([-1, 1]³)中,表示对空间的某一块进行正交投影。这个变换过程就是先平移再缩放。如下图所示: