透视与正交

视锥体是当前3D行业最重要的透视模型,想要理解视锥,首先要区分透视和正交的区别。

视锥体——初等几何解析_3d

正交与透视的对立统一:当视点远离物体无穷远,视野角度无穷小,此时的透视就是正交。

视锥体——初等几何解析_svg_02

透视投影是模拟物理世界的规律,将眼睛或相机抽象成一个点,此时视锥体内的物体投影到视平面上的物体满足近大远小的规律,而正交投影的所有投影射线都平行,物体大小不随距离变化而变化。

视锥体——初等几何解析_svg_03

本期讨论的重点是透视投影中的视锥头部,也就是被近截面截掉的那一部分金字塔模型。这个四棱锥本身就是一个初等几何体,没有曲面,所以比较简单,花一点点时间研究一下非常有必要。

视锥体——初等几何解析_cstring_04

先认识一下相关的名词,看一下上图就好了。然后看一下近截面的面积公式:其中宽和高都和近截距成正比(截距=视点到截面中心的距离),和FoV的正切值成正比,这些都不言而喻,可以画个图简单证明一下,这里就不证明了。

视锥体——初等几何解析_svg_05

虚幻引擎的FoV默认指的是水平FoV,即hFoV,但是可以根据以下的等比公式计算出垂直方向和斜边方向的FoV,可以看出,它们的半角正切值和它们在近截面上的投影线端的长度成正比,证明略。

视锥体——初等几何解析_js_06

比较难懂的是立体FoV,即视锥头占据的立体角,由于立体角的计算涉及到球面积的积分,属于高等几何学的范畴,所以这里只要记住它的公式就行了。如果想要证明的话,外网搜索关键词“四棱锥顶点”+“球面度”找一找。

视锥体——初等几何解析_opengl_07