mond um erde simulation?
hallo, ich habe eine simulation programmiert, in der sich die planeten um die sonne bewegen. nun möchte ich einen weiteren himmerlkörper - den mond - hinzufügen. irgendwie schaffe ich das aber nicht. der mond verhält sich wie einer der planeten und kreist einfach um die sonne, aber nicht um die erde. hat jemand eine idee oder einen ansatz?
1 Antwort
Am Ende brauchst du eine numerische Lösung einer Bewegungs-Differentialgleichung zweiter Ordnung.
v und s sind Vektoren (vermutlich 2D für x und y), dafür eignet sich numpy. Die brauchen einen Startwert und im Loop führst du die oben genannten Schritte durch (also v = v + a * dt und s = s + v * dt).
Jetzt fällt auf, dass a (die Beschleunigung) fehlt. Die können wir aus dem 2. Newton'schen Axiomen berechnen:
Die Kraft F kommt aus dem Newton'schen Gravitationsgesetz in Vektorform:
Den Betrag erhältst du mit np.linalg.norm(r_21), r_21 steht hierfür für den Vektor von Objekt 2 zu Objekt 1 (also von Erde zu Mond bspw. s_Erde - s_Mond, s sind die ausgerechneten Positionen).
Die Startpositionen kannst du dir überlegen (die Abstände zueinander müssen halt passen), die Startgeschwindigkeit kannst du dir (vereinfacht) aus der Kreisbahnbedingung oder (komplexer) aus den Kepler'schen Gesetzen herleiten.
Wichtig ist, dass dt für die Simulation sehr klein ist, ansonsten wird die Simulation sehr schnell Instabil und die Himmelskörper fliegen aus dem Bild.