Orthographic transformation
正交变换Orthographic Transformation
什么是正交变换?图片 正交变换也是一个投影过程,这里则不像透视变换中那样是一个椎体了,而是一个方体,所以在正交变换中,近大远小这种情况则不存在,相反,你会看到所有的物体无论远近,在投影平面上都是有相仿的大小
步骤
创建一个能够包含的下场景内所有物体的一个BoundingBox, ,然后将其映射到到范围内;坐标映射到, 坐标映射到,然后将内容投射到投影平面上
资料
- 正交矩阵计算过程
https://www.scratchapixel.com/lessons/3d-basic-rendering/perspective-and-orthographic-projection-matrix/orthographic-projection-matrix
正交变换矩阵
计算并验证一下,首先场景中那个包含所有物体的那个BoundingBox的值我们需要知道,这里假设场景中有一个正方体尺寸为,并且放置在世界中心原点处,那么它的左右上下边界值分别为
然后再设置远近平面我们假设为
则我们有
根据这些我们最终可以计算出矩阵
正方体其中一个顶点经过正交变换后有
再举一个例子
可以看到,后者超出了范围会被裁切掉