木星和土星有多少次以小于 0.2º 的距离可见?这可以通过利用 SkyField 的十几条线路来实现
问问题
31 次
1 回答
0
纵观公元前 1000 年到公元 3000 年(de431t 提供了这种广度),我发现:
Jup-Sat º
date separation elongation º
B.C. 0999-May-22 00:00:00.0000 UT 0.156342 38.735380
B.C. 0940-Aug-26 00:00:00.0000 UT 0.065678 41.442383
B.C. 0483-Mar-01 00:00:00.0000 UT 0.108738 54.895177
B.C. 0424-Dec-24 00:00:00.0000 UT 0.049188 16.400695
B.C. 0364-Mar-15 00:00:00.0000 UT 0.193803 54.396883
B.C. 0146-Oct-15 00:00:00.0000 UT 0.179083 94.398260
B.C. 0145-May-02 00:00:00.0000 UT 0.174195 61.696822
B.C. 0086-Aug-10 00:00:00.0000 UT 0.062998 19.861306
A.D. 0372-Mar-08 00:00:00.0000 UT 0.048587 53.314962
A.D. 0432-Jan-02 00:00:00.0000 UT 0.107849 17.215393
A.D. 0709-Sep-18 00:00:00.0000 UT 0.139882 61.098317
A.D. 0769-Jul-27 00:00:00.0000 UT 0.072186 2.331401
A.D. 1166-Dec-19 00:00:00.0000 UT 0.163973 24.881438
A.D. 1226-Mar-12 00:00:00.0000 UT 0.040561 48.435380
A.D. 1286-Jan-08 00:00:00.0000 UT 0.175860 19.680362
A.D. 1563-Sep-05 00:00:00.0000 UT 0.115084 42.282544
A.D. 1623-Jul-17 00:00:00.0000 UT 0.086289 12.770494
A.D. 1683-Feb-09 00:00:00.0000 UT 0.192382 176.099315
A.D. 2020-Dec-22 00:00:00.0000 UT 0.105125 29.948307
A.D. 2080-Mar-15 00:00:00.0000 UT 0.100548 43.464966
A.D. 2417-Aug-25 00:00:00.0000 UT 0.094632 26.784879
A.D. 2477-Jul-07 00:00:00.0000 UT 0.106268 27.025579
A.D. 2815-Feb-23 00:00:00.0000 UT 0.168457 29.843739
A.D. 2874-Dec-26 00:00:00.0000 UT 0.052813 35.020439
A.D. 2934-Mar-19 00:00:00.0000 UT 0.168289 37.676686
使用此代码:
ts = api.load.timescale(builtin=True)
load = api.Loader('/var/data')
eph = load('de431t.bsp')
sun, earth, jupiter, saturn = eph['sun'], eph['earth'], eph['jupiter barycenter'], eph['saturn barycenter']
t = ts.utc(-999, 1, range(1, 4002*365)) # 1000BCE - 3000AD
e = earth.at(t)
j = e.observe(jupiter)
s = e.observe(saturn)
sun = e.observe(sun)
sep = s.separation_from(j)
elong = sun.separation_from(j)
df = pd.DataFrame({'date': t.utc_jpl(), 'separation': sep.degrees, 'elongation': elong.degrees})
# find apparant separation local minima
conjunctionindexes = argrelextrema(df.separation.values, np.less)
df2 = df.iloc[conjunctionindexes[0]]
# less than a degree of apparant separation visible during civil twilight or darker
print(df2[(df2.separation < 0.2)])
于 2020-12-08T01:12:28.710 回答