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

2024-10-05 13:25:44 发布

您现在位置:Python中文网/ 问答频道 /正文

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

另外,如果不是pyephem/skyfield/pyorbital的一部分,我想这将是一个有趣的功能添加?在


Tags: l1地球时间eldecaz天空ra
1条回答
网友
1楼 · 发布于 2024-10-05 13:25:44

如果可以将任意(地心或日心)位置矢量转换为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 
]

相关问题 更多 >

    热门问题