火星计算器的公式转换

时间:2018-01-31 17:20:33

标签: python calculator trigonometry mars

我需要将此公式转换为Python:

δs = arcsin {0.42565 sin Ls)} + 0.25° sin Ls

考虑到Ls值为122.985º(以度为单位)

我使用的代码是:

Ls = 122.985
Ds = math.asin(math.radians(0.42565 * math.sin(math.radians(Ls)))) + 0.25 * math.sin(math.radians(Ls))

Ds的结果大约为0.2159º......当它应该在21,128º左右时。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

请注意,公式在第二项上有度数标记。它是说“取正弦(Ls)的反射率为0.42565倍。这是一个角度,可以用度数表示。对它来说,加上0.25度正弦(Ls)”。

angle1 = math.degrees(math.asin(0.42565 * math.sin(math.radians(Ls))))
correction = 0.25 * math.sin(math.radians(Ls)) # this is a value in degrees
Ds = angle1 + correction

或者合并为一个公式,为了清晰起见,我将其分解为

Ds = math.degrees(math.asin(0.42565 * math.sin(math.radians(Ls)))) + 0.25 * math.sin(math.radians(Ls))

运用你的榜样:

>>> Ls = 122.985
>>> angle1 = math.degrees(math.asin(0.42565 * math.sin(math.radians(Ls))))
>>> angle1
20.918572663722518
>>> correction = 0.25 * math.sin(math.radians(Ls))
>>> correction
0.20970328134223665
>>> angle1 + correction
21.128275945064754

不要在我的标签上过分重视第二学期的修正,我从http://www.oregonl5.org/mist/docs/Mars24J/help/notes.html的讨论中得到了这一点,特别是:

  

准确说明太阳照度相对于   局部平坦表面的平面,太阳赤纬可以   纠正了适合所谓的小差异   扁平球体上的纬度的行星测量,就像它一样   Mars24太阳光了。

但我可能误解了那句话。我确信的主要是价值测试,单位明智地进行。