In einer Diskussion unter der Weltraumforschungsfrage Gibt es maßstabsgetreue Diagramme des TRAPPIST-1-Systems, wurde ich eingeladen, eine Frage wie diese zu stellen, also habe ich es getan.
Frage: Sind die Planeten im TRAPPIST-1-System so nah beieinander, dass die Bewohner eines Planeten Oberflächendetails auf den anderen Planeten sehen könnten? Wie groß würde jeder Planet während der Konjunktion oder Opposition von jedem der anderen Planeten erscheinen? Größer als der Erdmond?
Sind die Planeten im TRAPPIST-1-System so nah beieinander, dass die Bewohner eines Planeten Oberflächendetails auf den anderen Planeten sehen könnten?
Ja!
Wie groß würde jeder Planet während der Konjunktion oder Opposition von jedem der anderen Planeten erscheinen? Größer als der Erdmond?
Bei manchen Kombinationen auf jeden Fall!
Hier ist ein Diagramm der Größe jedes Planeten, wie es von jedem der anderen Planeten aus gesehen wird. Ich habe die großen Halbachsen und Planetenradien aus einer Tabelle in Wikipedia genommen und das Python-Skript unten verwendet, um die scheinbaren Größen bei Konjunktion oder Opposition anzuzeigen. Die Achsen sind in Grad angegeben und der größte Fall ist 1,28 Grad oder das 2,5-fache der scheinbaren Größe des Mondes von der Erde!
a (Gm) R (km)
b: 1.73 7150
c: 2.37 6984
d: 3.33 5000
e: 4.38 5804
f: 5.76 6671
g: 7.01 7322
h: 9.27 4930
Beispielsweise zeigt die obere Reihe die größtmögliche Größe der Planeten c bis h von Planet b. Die schwarzen Punkte zeigen den Planeten mit sich selbst an.
import numpy as np
import matplotlib.pyplot as plt
data = (('b', 1.73, 7150), ('c', 2.37, 6984), ('d', 3.33, 5000),
('e', 4.38, 5804), ('f', 5.76, 6671), ('g', 7.01, 7322),
('h', 9.27, 4930)) # https://en.wikipedia.org/wiki/TRAPPIST-1#Planetary_system_data_charts
class Planet(object):
def __init__(self, name, a_Gm, r_km):
self.name = name
self.a = 1E+09 * a_Gm
self.r = 1E+03 * r_km
halfpi, degs = 0.5*np.pi, 180/np.pi
planets = []
for thing in data:
planets.append(Planet(*thing))
arc = np.vstack([f(np.linspace(halfpi, -halfpi, 201)) for f in (np.cos, np.sin)])
f = np.array([-1.0, 1.0])[:, None]
c = np.array([+0.8, 1.0])[:, None]
full = np.hstack((arc, f*arc[:, -2::-1]))
crescent = np.hstack((arc, c*arc[:, -2::-1]))
all_sizes = []
for p in planets:
p.arcs = []
for pp in planets:
if pp == p:
p.arcs.append(None)
else:
size = 2*pp.r/(pp.a-p.a)
all_sizes.append(abs(size))
if size > 0:
p.arcs.append(size*full)
else:
p.arcs.append(size*crescent)
max_size = max(all_sizes)
print('max_size: ', max_size)
if True:
plt.figure()
for (i, p) in enumerate(planets):
y0 = -max_size * degs * i
for (j, arc) in enumerate(p.arcs):
x0 = max_size * degs * j
if type(arc) is type(None):
plt.plot([x0], [y0], 'ok', markersize=6)
else:
x, y = degs*arc
plt.plot(x+x0, y+y0)
plt.gca().set_aspect('equal')
plt.show()
GoalaSestant
Kristoffer Sjöö