我计算了视野
float FOV = camera.activeFormat.videoFieldOfView;
但它是 iPhone 的视野。
我需要使用视野计算对象的宽度。我如何计算 1) 特定对象的视野或 2) 使用相机的对象宽度
我在图片中有以下标记:
角度 AOB = FOV 我有
A'O 和 B'O 我已经计算过了。
需要计算角度 A'OB' 并最终使用它来计算 A'B'(对象的宽度)
我计算了视野
float FOV = camera.activeFormat.videoFieldOfView;
但它是 iPhone 的视野。
我需要使用视野计算对象的宽度。我如何计算 1) 特定对象的视野或 2) 使用相机的对象宽度
我在图片中有以下标记:
角度 AOB = FOV 我有
A'O 和 B'O 我已经计算过了。
需要计算角度 A'OB' 并最终使用它来计算 A'B'(对象的宽度)
您需要关于三角形的 3 个独立信息来表征它,否则您只是在描述一类三角形。信息可以是角度或长度。
在您的情况下,您有两个关于三角形 OA'B' 的信息和一个关于 OAB 的信息,因此您无能为力。
如果您有更多信息,作为对象所占据屏幕的水平百分比,您可以通过乘法找到 FOV 和您需要的角度 A'OB' 之间的关系。(X% * FOV= A'OB')
现在,如果你有 A'OB'、OA' 和 OB',你可以用三角函数计算 A'B'。
如果我对您的理解正确,您仍然需要到物体的距离。一旦你有了它,你就有了三角形的两条边,现在可以计算 A'OB',如下所示:
A'B'/2
(即 的中点A'B'
),C'
。(OC'
然后是到物体的距离。)A'C'O
(或B'OC'
)形成一个直角三角形。OC'/OA'
等于 的余弦A'OC'
。 OC'/OA'
2,我们将得到角度A'OB'
。A'B'
,事情就变得更简单了。将 的平方根乘以(OA' squared minus OC' squared)'
2,得到长度A'B'
那有意义吗?