考虑一张 Google 街景全景图。如何将水平视场 (FOV) 转换为垂直视场,反之亦然?
首先,我尝试了这个公式,假设投影是球形的:
VFOW = 2 * arctg(h/w * tg(HFOV / 2))
其中 h 和 w - 是全景图像的高度和宽度,VFOW 和 HFOV - 是垂直和水平 FOV。但这个公式给出的结果非常不准确。正如文档所说, Street View Service 谷歌街景使用等距柱状投影。 我需要您帮助导出此案例的转换公式。
<小时/>为什么我需要这个?当我创建 iOS 应用程序时出现了问题。在此应用程序中,向用户呈现一些静态全景预览。当用户单击此类预览时,将打开 GMSPanoramaView。 问题是获得与 GMSPanoramaView 显示的全景图完全相同的预览。
Google Street View Image API允许指定水平 FOV。而GMSPanoramaCamera视场角为:
encompassed by the larger dimension (width or height) of the view in degree
我的应用程序支持纵向。在这种情况下,较大的尺寸是高度。
最佳答案
所讨论的公式是正确的。
关于ios - 谷歌街景 : Horizontal to Vertical FOV conversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25157323/