【发布时间】:2012-12-31 08:10:41
【问题描述】:
我想画一个人造地平线。视图的中心将代表完美的水平视图,滚动旋转水平线并上下移动它。
问题是:在给定俯仰角的情况下,向上或向下(俯仰)平移地平线的正确计算是什么。
我的猜测是,这可能取决于假设摄像机的 FOV 角度,因此该角度需要成为所寻求算法的一个因素。理想情况下,我会计算出 iPhone/iPad 摄像头的这个角度,这样如果你把设备放在你面前并看向地平线,人造地平线就会与实际地平线对齐。
到目前为止,我一直在猜测偏移量,但我想知道确切的公式。
【问题讨论】:
-
试试
horizon_offset/(screen_height/2)=tan(pitch)/tan(vertical_FOV/2)。 See. -
你能把它写成一个单独的答案,这样如果结果是正确的,我可以接受吗?可能还详细说明了你是如何得出这个公式的?
-
一个准确的答案取决于知道用户离屏幕有多远,以及它被握住的角度——如果屏幕不是以 90 度精确观看,那么设备的角度不会转化为地平线的角度。因此,六分仪和象限的排列不止一处。飞机中的人工地平线会显示一个校准的俯仰比例,因此它们不需要此类信息。
-
iphonefaq.org/archives/971159 具有 iPhone 相机的焦距。
-
@PeteKirkham 如何从焦距计算角度(以毫米为单位)?那么你会为我的问题建议的公式是什么?