斯威夫特 - 我如何根据当前时间和位置更正天空图?

时间:2016-10-10 15:10:53

标签: swift astronomy

我是Swift的新手,现在我正在尝试构建天空地图应用,例如应用程序"星图"。

我已经从美国国家航空航天局获得了一张天空地图图像,并将其覆盖在SCNsphere上,也已将相机节点设置在该球体的中心,使其看起来像360度。此外,我使用加速器检查相机的方向。

我知道像“星图”这样的天空地图并不需要互联网来更新数据。所以现在最大的问题是我根据人们当前的时间和地点不知道如何纠正我的天空地图的位置。

有什么好的建议和帮助吗?提前致谢!!!因为我尝试了很难找到一些相关的信息,但仍然在这里停留了三个星期。

1 个答案:

答案 0 :(得分:0)

您需要围绕地球的旋转轴使用time+longitude旋转地图,并使用latitude围绕轴longitude=90 degrees旋转地球,同时将地球放置在中心你的球体。对于恒星,偏移无关紧要,因此您可以忽略太阳 - 地球距离以及地球的半径。

时间旋转必须day+year一起旋转。最重要的是,如果你想要更高的精确度,你必须应用岁差和章动。

如果你需要非常高精度和高时间间隔来覆盖(数百年或数千年),那么恒星的移动也是如此,那么这种方法并不好,你应该使用恒星目录来实现这些动作。

有关详细信息,请参阅相关内容:

如果您想使用目录和真实颜色,那么您还需要

最后这里有一些关于此类应用的提示: