geometry - 计算球体上等距柱状投影的畸变

标签 geometry projection

以下引用来自此来源: http://www.cambridgeincolour.com/tutorials/image-projections.htm

Equirectangular image projections map the latitude and longitude coordinates of a spherical globe directly onto horizontal and vertical coordinates of a grid, where this grid is roughly twice as wide as it is tall.

我有一张宽度为 13312 像素、高度为 6656 像素的全景图片。它是房间的等距柱状投影,比例为 2:1。

我使用以下公式来计算 xPosition:

var xPosition = ( panorama.width / 360 ) * azimuth

方位角 = Phi = 航向 = 向左或向右的角度

现在如何将其投影到 1366x768px 浏览器屏幕上?

我认为我的结果是错误的,因为它没有达到应有的位置..可能是因为球体的左右扭曲:

是否有任何公式可以计算位置并注意扭曲并将其缩放以适合浏览器屏幕?我查看了很多(很多)资源来找到这个问题的解决方案,但他们总是说等距柱状投影只是纬度和长度..他们不考虑扭曲。

最后一个问题:为了找到一个特殊的解决方案,我尝试在圆上放置一个平面并扩展显示 alpha 角度的线。我虽然通过 Phytagoras 我可以找到这个位置..但这也不起作用..也许我做错了什么?这是可能的方式还是我做错了?

编辑

这就是我真正要找的:http://othree.github.io/360-panorama/three-2d/

背景中的黑色网格。这个叫什么名字?我需要谷歌或寻找什么?当你启动2D全景图时,如果你想获取窗口右上角的坐标,你需要做什么?

最佳答案

整个计算问题是根据 2:1 等距柱状图像创建一个与 Google 街景类似的 View 。在 Martin Matysiak ( https://github.com/marmat | Google) 的大力帮助下,我们已经找到了解决方案。

已经有一段时间了,所以我无法直接回答主要解决方案是什么,但我可以提供一个指向 AddOn Martin 的 URL,该 URL 是为添加我们实际尝试制作的自定义标记而编写的。

您可以关注https://github.com/marmat/google-maps-api-addons并寻找你自己。最终,它对解决主要问题有很大帮助,让我们可以继续开发 Google Business Tours 的主要框架。

关于geometry - 计算球体上等距柱状投影的畸变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22463479/

相关文章:

c# - 找到围绕某个点形成四面体的 4 个点

opengl - OpenGL立方体贴图中的面约定

git - 强制 godep 在 circle build 中通过 SSH 从 github 中 pull 包

algorithm - 高效线段-三角形相交

aggregate - CQRS 事件存储聚合与投影

java - 确定 Path 是否描述一个圆

java - 从 objectify 中的投影查询中提取值

algorithm - 从哪里获得用于将 RGB 平行四边形投影到 RGB 三角形的伪代码算法

asp.net - WebAPI 中的 DTO 和投影

java - 带有 Projection 的 Spring JPA native 查询给出 "ConverterNotFoundException"