视图的最大投影量

时间:2015-03-28 08:20:31

标签: math 3d perspectivecamera

通过没有失真的投影矩阵可以实现的最大视野是多少?有一个硬限制<在数学完全崩溃之前180度,但试验170-180度使我相信在硬限制之前失真和偏离现实。投影矩阵开始扭曲视图的位置在哪里?

编辑:也许有些澄清是有道理的。当我用固定的渲染尺寸将FOV角度增加到180°时,我观察到物体变得比现实中的更快。如果我没有弄错的话,使用固定的渲染大小和场景/相机是相同的,对象的直径应该与视野大小成反比。然而,我观察到它们呈指数缩小,在180度时缩小到0。毫无疑问,这是因为投影矩阵中的X和Y缩放与cot(FOV / 2)成比例。我想知道的是这种失真效应何时开始。

1 个答案:

答案 0 :(得分:2)

简短回答:没有偏离现实,总会有失真。

长答案:常见的透视投影矩阵将3D场景投影到相对于摄像机位置的2D平面上。如果考虑平面与摄像机的固定距离,则视场定义平面的大小。较大的角度定义较大的平面。如果您修改了大小,则视野定义距离。较大的角度定义较小的距离。

从相机看,无论是看到原始场景还是带有投影场景的平面(即没有与现实的偏差),图像都不会改变。

从不同视点查看平面时会出现问题。例如。当投影平面显示在屏幕上(固定尺寸)时,只有一个相机(您的眼睛)位置,图像是真实的。对于非常大的视角,您需要非常靠近屏幕才能找到该位置。所有其他位置都不会产生正确的图像。对于小视场角,产生的失真非常小,用户通常认为它是真实的投影。这是因为对于小角度,如果稍微改变距离,投影图像不会发生显着变化(将距离从1米改为1.1米(10%),使用较小的fov比将距离从0.1米改为0.2米更少问题(100%)有大fov)。最极端的情况是具有几乎为零的fov的正交投影。然后,投影完全不依赖于距离。

如果物体不在投影轴上(即任何大于零的fov),总会出现失真。这导致球体不会投射到完美的圆圈。这种效果也会发生在小fovs上,但不太明显。