最大投影视野

Maximum Projection FIeld of View

无畸变投影矩阵所能达到的最大视野是多少?在数学完全崩溃之前有一个 < 180 度的硬限制,但是在 170-180 度上进行试验让我相信扭曲和偏离现实在硬限制之前就开始了。投影矩阵开始扭曲视图的点在哪里?

编辑:也许需要进行一些澄清。当我使用固定渲染尺寸将 FOV 角度增加到 180 度时,我观察到物体变小的速度比实际情况要快得多。在固定的渲染尺寸和 scene/camera 相同的情况下,如果我没记错的话,物体的直径应该与视野尺寸成反比。然而我观察到它们呈指数级缩小,在 180 度时缩小到 0 大小。这无疑是由于投影矩阵中的 X 和 Y 缩放比例与 cot(FOV / 2) 成正比。我想知道的是这种失真效果到底是什么时候开始的。

简答:没有偏离现实,总有歪曲。

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

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

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

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