【问题标题】:Calculate RA DEC/AZ EL of Lagrange Points seen from a location on earth计算从地球上某个位置看到的拉格朗日点的 RA DEC/AZ EL
【发布时间】:2018-06-19 22:13:36
【问题描述】:

当提供 UTC 时间戳和地球上的纬度/经度/纬度观察点位置时,我想将天空中的五个拉格朗日点 (L1 - L5) 的位置计算为 RA/DEC 或 AZ/EL。我正在查看 pyephem、pyorbital 和 skyfield,但据我所知,他们不支持这一点。如果有人能指出我在 python 中计算这个的参考/代码,那将不胜感激。

附:如果还不是 pyephem/skyfield/pyorbital 的一部分,我认为这将是一个有趣的功能添加?

【问题讨论】:

    标签: python astronomy pyephem orbital-mechanics skyfield


    【解决方案1】:

    如果您可以将任意(地心或日心)位置矢量转换为 RA/DEC,则解决方案很简单,因为您可以相对轻松地计算拉格朗日点的位置矢量。

    如果您有太阳的地心位置矢量Rsun,您可以执行以下操作:

    由于 L1、L2 和 L3 位于太阳-地球线上,它们只是 Rsun 的不同缩放版本。这里有一些很好的近似值,因为太阳的质量比地球的质量大得多(确切的公式要复杂得多):

    L1 = Rsun * (m / (3*M))**(1/3)

    L2 = -Rsun * (m / (3*M))**(1/3)

    L3 = Rsun * (2 + (5*m / (12*M))

    质量单位无关紧要,因此我们可以使用地球质量作为单位,这样m == 1 是地球的质量,M == 333000 是太阳的质量。

    L4 和 L5 点是与太阳和地球等边三角形的角。因此,您可以通过围绕轨道平面的法线(通常是黄道坐标系中的 z 轴)将 Rsun 旋转 60° 和 –60° 来获得它们。这很简单,伪代码是:

    # Get the three components of the original vector
    x,y,z = Rsun 
    
    # Compute the rotated vector
    L4 = [
      x * cos(60°) - y * sin(60°),
      x * sin(60°) + y * cos(60°),
      z 
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-23
      相关资源
      最近更新 更多