计算从地球某个位置看到的拉格朗日点的RA DEC / AZ EL

时间:2018-06-19 22:13:36

标签: python astronomy pyephem orbital-mechanics skyfield

当我提供UTC时间戳和地球上的Lat / Lon / Alt观察者位置时,我想以RA / DEC或AZ / EL的形式计算天空中的五个拉格朗日点(L1-L5)的位置。我当时在看火葬场,眼眶和天空,但据我所知,他们不支持。如果有人可以指出我的参考/代码来用python计算它,那将不胜感激。

P.S。如果还不是pyephemem / skyfield / pyorbital的一部分,我认为这将是一个有趣的功能吗?

1 个答案:

答案 0 :(得分:1)

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

如果具有太阳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点是与太阳和地球等边三角形的角。因此,您可以通过将Rsun绕轨道平面的法线(通常是黄道坐标系中的z轴)旋转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 
]