【问题标题】:Solar system computer model太阳能系统电脑模型
【发布时间】:2011-01-04 15:22:27
【问题描述】:

我有兴趣为我们的太阳系构建一个 3D 模型以供网络使用(可能使用 AS3 和 papervision),并且一直在研究如何对行星位置进行编码。我的想法是从 NASA 下载已经计算好的位置,因为我自己计算位置似乎过于复杂。我不确定我应该使用以太阳为中心的编码还是以地球为中心的编码。

我想知道有没有人有这方面的经验。哪种方法会更好? NASA JPL 网站似乎将我们太阳系中所有主要天体的位置都定位为以地球为中心。不过,当我将航海者号和火星着陆器任务添加到模型中时,我可以看到这会成为稍后的问题?

非常欢迎任何反馈、cmets 和链接。

编辑:我有一个使用日心坐标的粗略模型正在运行,但我无法找到这种格式的所有行星的坐标。

更新:

我没有太多细节可以提供,因为我真的不知道自己在做什么(从空间的角度来看)。我想掌握 3D 编程,并对空间感兴趣。我的想法是,我将首先制作一个粗略的太阳系模拟器,其中包含所有行星及其轨道器(起初可能不包括卫星)。也许包括一个新闻聚合器和一些新闻/资源的链接等等。总体思路是让人们四处点击,对去月球和火星感到超级兴奋(首先)。

从长远来看,我希望能够添加卫星和月球任务(及时回溯到 70 年代,看看月球任务)。

因此,为了回答 Arrieta 的问题,我们的想法不是计算日食,而是构建一个易于接近的交互式太空探索馆,并在途中学习一些 3D 和太空相关的东西。

【问题讨论】:

  • 这其实编程相关的,因为它是关于如何在程序中存储这些数据。但是,最好的答案似乎需要一些针对特定领域的特定领域知识,因此 SO 可能仍然不是最好的提问地点。不过,社区 Wiki 似乎不合适,因为您询问的是您的 问题,而不是一般性或类似讨论的问题。
  • 对于没有星历的天体/航天器,检索轨道元素并使用开普勒方程传播。冥王星不是行星。
  • 是的,我对“行星”的定义还是有点模糊。几年前有一些关于这个问题的讨论。据说阋神星也不是行星?
  • 冥王星不再被视为行星,但太阳系有数千颗小行星,冥王星就是其中之一。从技术上讲,我相信冥王星现在被认为是一个跨海王星天体(TNO)。行星被简单地定义为围绕恒星运行但自身不发光的任何物体,因此根据该定义,冥王星是行星。

标签: astronomy


【解决方案1】:

很高兴您想构建自己的模拟器,但取决于您想要做什么,这可能不是一件容易的事。最简单的方法如下:

  1. 下载 JPL-DE405 星历表和检索行星位置的子程序(太阳系重心)。
  2. 请求时间跨度、计算位置并以视觉上吸引人的方式将它们显示在屏幕上
  3. 完成

现在,您为什么要这样做?如果你想查看行星的轨道,就是这样。你完成了。如果您想计算几何事件(如日食、视线或照明),那么您将处于完全不同的球赛中。那是航天,并不简单。

请更具体。您对“地心”或“日心”坐标所做的区分实际上并没有什么大的困难。如果您拥有日心坐标系中的所有状态,则可以通过简单的矢量减法计算地心坐标系。那不是问题!还有一千多个问题,但您需要具体说明,以便我们提供更多指导。

几十年来,JPL 一直提供高质量的星历表,我们拥有一支由优秀人才组成的完整团队致力于此。这是最困难的事情之一!

再次,请提供更多详细信息或查看其他信息来源。

请用谷歌搜索“太阳系模拟器”(在 JPL 完成这里),看看它是否满足您的需求。

干杯。

【讨论】:

    【解决方案2】:

    可能值得您查看ASCOM Platform(我们还有一个名为ASCOM Answers 的堆栈交换站点)。

    ASCOM 平台有几个有用的库来做这类事情。

    • USNO NOVAS(海军天文台矢量天体测量)
    • 开普勒轨道引擎

    USNO/NOVAS 的东西最初是用 C 语言编写的,为了便于从 C# 和 VB 中使用,我们将其封装在 .NET 中。

    作为一个额外的好处(实际上它是 ASCOM 的存在理由),该平台使您可以轻松控制望远镜之类的东西,Microsoft 的 World Wide Telescope 正是为此目的使用它.我可能是您模型的有趣扩展,能够将望远镜指向事物。

    【讨论】:

    • 谢谢蒂姆,我一定会调查的。
    【解决方案3】:

    我可能会从日心坐标开始(好吧,我之前做过一段时间),然后让一些行星启动并运行。但迟早你会想要编写一个日心到地心坐标转换例程,以及它的逆向例程。对于某些物体,例如人造卫星,地心坐标会更容易处理。

    【讨论】:

    • 谢谢马克。我忘了提到我确实有一个非常粗糙的模型,它使用日心坐标运行。知道在哪里可以找到有关转换例程的一些信息吗?
    【解决方案4】:

    您可以使用astro-phys api 获取所有行星的 JSON 格式的状态向量。它使用 JPL 的 de406 计算它们,因此非常准确并使用太阳系重心。

    不过,如果您知道太阳相对于地球的位置,并且您处于地心模型中,则可以从所有天体(包括地球)中减去太阳的位置,从而得到日心。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      相关资源
      最近更新 更多