计算相机视角

Calculating camera angle of view

我知道根据胶片尺寸和焦距计算相机视角的公式。即,焦距为 50mm 的 35mm 胶片。返回 AOV 效果很好。

python中的公式:

d = 35 # Film Width
f = 50 # Focal Length
aov = 2 * math.atan(float(d) / (2*float(f)))

导致 AOV 为 38.58

我的问题是如何计算焦距 f 给定胶片尺寸 d 和 aov?

您可以通过以下方式计算焦距:

f = d / (2 * math.tan(0.5 * aov))

这是由直角三角形的相交定理和切线推导出来的:

(0.5 * d)/f = a/b = tan(0.5 * aov)