【问题标题】:Maximum Projection FIeld of View最大投影视野
【发布时间】:2015-03-28 08:20:31
【问题描述】:

可以通过无失真的投影矩阵实现的最大视野是多少?在数学完全崩溃之前,有一个

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

【问题讨论】:

  • 好的,我想我知道我的逻辑哪里出了问题。我是根据绝对角度进行推理的,就好像投影到视图周围的球体上一样。两倍大的物体从观察点投射出两倍的角度,而两倍的视野使物体的相对角度减半。但在 3D 图形中,它被投影到一个不垂直于从视图到对象的光线的平面上,例如球体,因此相对角度大小不一定与平面上的大小成比例。

标签: math 3d perspectivecamera


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 更新,澄清了我所说的扭曲和偏离现实的意思。
猜你喜欢
  • 1970-01-01
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多