如何绘制天空图?

我如何画这样的星图?

我有:

  1. 具有坐标(赤经和赤纬)
  2. 观察者坐标(纬度,经度)
  3. 观察的时间

我需要一个考虑这些参数的公式。

  1. 恒星数据库

    谷歌为:

    • BSC(明亮的星表)〜10K星高达+6.5 mag(裸眼)
    • Hipparcos〜118K星至+12 mag(望远镜),也有视差(3D坐标)等等
    • Hipparcos是我最喜欢的。 两者都可以从许多Astornomy服务器只是谷歌自由的ASCII格式下载…
  2. 行星(尸体)

    您可以编译多个站点所需的轨道参数。 您将需要所有这些Orbital_elements ,例如这里有一些

  3. 模拟(计算时间的位置)

    对于行星来说,这只是通过计算开普勒方程来获得行星/卫星的星历

    M=Ee*sin(E) 

    哪里:

    M是平均angular度(如果行星具有圆形的轨迹和恒定的速度)
    E是椭圆中心的实angular(考虑到开普勒定律)

    你可以这样解决:

     for (E=M,q=0;q<20;q++) E=M+e*sin(E); 

    现在你知道E是任何你需要的M 只需计算椭圆上的位置并通过倾斜来旋转它。 计算M也就是只需要知道行星交叉angular0时的时间t0 。那么:

     M = (t-t0) * dM 

    其中dM是围绕太阳的旋转。 如果时间是几天,那么dM[rad/day] 。 对于地球它是2.0*pi/tropical_year 。 这将导致你到所有行星的全球阵地(相对于太阳)

    开普勒方程

    欲了解更多信息,请看这里如何计算行星位置

  4. 地球视图

    等距坐标是相对于地球,所以你需要每天添加地球旋转到你的模拟。 只需在“右”方向上创build一个轴向旋转23.5 deg变换matrix,并通过该轴添加旋转。 同时将旋转添加到您的地理位置。 在这之后,把这个matrix转换成地球的位置。 从这很容易转换所有的全球坐标到您的地球的看法,所以你现在可以绘制数据图像/屏幕什么。

[笔记]

要小心你使用的旋转周期!

  • 地球的tropical_year = 365.242195601852 days
  • 地球日转速dM = 0.0172021242603194 rad/day
  • 一天是平均太阳日! 就像Julian约会

    始终用其他软件或真实的东西来校准你的数据。 有一些库,所有这一切只是谷歌。 为了提高工具章动的准确性,进动和轨道参数随时间变化。