【发布时间】:2015-05-21 09:20:48
【问题描述】:
我正在编写一个 FBX 阅读器,相机给了我 FocalLength(从相机到兴趣点的距离)。
在 opengl 中,我使用 Field of View(视角)初始化视口。
在网上做了一些研究后,我在几个地方看到了这个公式:
FOV=2.0f*atanf((pixelwidth/2.0f)/focalLength);
但是,这个公式的结果给了我一个小值。 PD:我认为它可能是弧度,但将它从弧度转换为度数结果太大了。
- 对于 35 毫米的焦距,我应该得到 54.432 度的 FOV
- 对于 50 毫米的焦距,我应该得到 39.598 度的 FOV
- 对于 85 毫米的焦距,我应该得到 23.913 度的 FOV
但公式不起作用。我在这里做错了什么?
【问题讨论】:
-
确保您对 pixelHeight 和 focusLength (mm) 使用相同的单位
-
这很奇怪,为了得到像素高度的比例,因为focalLength是mm,我使用了一个自动方程求解器,比例结果从一个焦距到另一个不同。对吗?