360度球体全景到Cube全景变换算法(伪代码或至少需要完整逻辑)

时间:2011-01-13 03:22:51

标签: algorithm pseudocode projection cube panoramas

所以我们可以采取这样的image from wikipedia alt text 并尝试将其映射为未来的立方体或类似立方体的东西 alt text alt text

而不是扭曲顶部和底部之类的 alt text

有些人可能会认为只做一半而不是试图填补它会产生分歧 alt text

它不会=(并且内容感知填充无助于填充该方格=(

但如果你试图渲染这样的立方全景,那看起来很糟糕。

我可以想象的另一种方法是将3D全景渲染到球体上,然后以某种方式将快照/投影投射到立方体上...但我不知道如何用简单的数学运算来记录它(这里的想法不是使用渲染引擎,但尽可能以数学方式进行)

2 个答案:

答案 0 :(得分:10)

吉姆,

我是Ken Chan,是四边形球形立方体(QLSC)的主要设计师。您可以查阅谷歌,以获取1975年报告“我对我的同事Mike O'Neill共同撰写的”四边形地球数据库的Feasilibilty研究“的许多参考文献。我做了所有的配方和数学分析,迈克做了所有的软件设计和编码。我还有某个地方的报告。我相信代码在后面的附录中,但我不能证明这一点。

1973年有一份早期报告“恒定分辨率地球数据库的组织结构”,我与计算机科学公司(CSC)的另外两位同事(Paul Beaudet和Leon Goldshlak)合着。 Leon是项目经理。保罗提出了一个结构,我提出了四个。 QLSC是我的四个概念之一,随后被海军选中采用。没有为这些模型开发代码。

我离开那个工作领域超过35年但我知道马里兰州Greenbelt的NASA Goddard最终使用QLSC进行COBE任务。我也意识到QLSC(或它的一些衍生物)被美国和欧洲的天文学家和天体物理学家用于恒星测绘,因为它具有相同的面积特性以及它的分层指数方案。

最近,我也意识到基本的组织结构已用于高光谱数据管理和压缩。

我几天前刚满70岁,没有什么能让我感到更加满意,因为我留下了其他人可以使用的东西。当我开发这种方法时,专利的想法从未在我脑海中浮现。此外,将其命名为“Chan Spherical Cube”(缩写为CSC)的想法遭到计算机科学公司和我的拒绝。

我希望这能让您了解QLSC的历史。

答案 1 :(得分:2)

有一种称为Quadrilateralized Spherical Cube的地图投影,用于天体物理学以表示全天空地图。它有一个很好的特性,即像素在天空中具有相等面积的几个百分点内,因此减少了几何失真。

基本上,天球被投射到立方体上,每个立方体面被分成像素;但是,不是直线网格,行和列边界略微弯曲,以便每个像素映射到球体上大致相同大小的区域。

像素寻址很有意思。假设你有一个带坐标的像素 其中一个立方体面上的X,Y.如果X有二进制表示abcd,而Y是ABCD, 然后该面上的像素地址有X和Y交错:aAbBcCdD。所以要重新组合 将图像转换为更大的像素,您需要做的就是右移2位以获得较低分辨率的像素地址。

使用32位像素地址,可以使用3位表示立方体面,使用28位表示该面内的交错X和Y坐标。在这个分辨率下,每个像素覆盖大约20x20弧秒的面积,或大约三分之一英里的平方(ish) - 所以人们可以充分利用它作为一种地理或天体坐标散列技术。

要使用此功能,您必须实现正向变换(long,lat)或(RA,dec)到像素数,以及从像素数到(long,lat)或(RA,dec)的逆变换。当然,从图像坐标到(长,纬度)和背面都有大量众所周知的地图投影。

我在谷歌搜索的几分钟内没有找到任何代码 - 也许我可以挖掘出我20年前编写的一些代码,当时我参与了EUVE天体物理学任务,该任务使用了这个预测 - 天空调查地图。