def _keplerian_to_keplerian_mean(cls, coord, center):
"""Conversion from Keplerian to Keplerian Mean
The difference is the use of Mean anomaly instead of True anomaly
"""
a, e, i, ?, ?, ? = coord
if e < 1:
# Elliptic case
E = arccos((e + cos(?)) / (1 + e * cos(?))) # Eccentric anomaly
M = E - e * sin(E) # Mean anomaly
else:
# Hyperbolic case
H = arccosh((e + cos(?)) / (1 + e * cos(?)))
M = e * sinh(H) - H
return np.array([a, e, i, ?, ?, M], dtype=float)
评论列表
文章目录