Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2021:raketenbahn:berechnung [2021/04/13 16:55] k_will [Hohmann-Transfer] |
ws2021:raketenbahn:berechnung [2021/04/14 01:01] (aktuell) konstantinflorian [Schritte] |
||
---|---|---|---|
Zeile 19: | Zeile 19: | ||
$ra$ = Zielradius\\ | $ra$ = Zielradius\\ | ||
$re$ = Anfangsradius\\ | $re$ = Anfangsradius\\ | ||
- | $a$ = große Halbachse der Ellipse = (re+ra)/2\\ | + | $a$ = große Halbachse der Ellipse = $(re+ra)/2\\$ |
$va$ = Anfangsgeschwindigkeit\\ | $va$ = Anfangsgeschwindigkeit\\ | ||
$vz$ = Bahngeschwindigkeit des Zielorbits\\ | $vz$ = Bahngeschwindigkeit des Zielorbits\\ | ||
- | Die Formel für die erste Geschwindigkeitsänderung dv1 ist: | + | Die Formel für die erste Geschwindigkeitsänderung $dv1$ ist: |
$dv1 = sqrt[(M*G*ra)/(re*a)] - va$ | $dv1 = sqrt[(M*G*ra)/(re*a)] - va$ | ||
- | Die Formel für die zweite Geschwindigkeitsänderung dv2 ist: | + | Die Formel für die zweite Geschwindigkeitsänderung $dv2$ ist: |
$dv2 = vz - sprt[(M*G*re)/(ra*a)]$ | $dv2 = vz - sprt[(M*G*re)/(ra*a)]$ | ||
Zeile 57: | Zeile 57: | ||
In der Gravitationfunktion wird die Kraft aller Objekte auf ein Objekt errechnet. | In der Gravitationfunktion wird die Kraft aller Objekte auf ein Objekt errechnet. | ||
- | Dazu geht die for-Schleife alle Objekte durch und berechnet den Normalenvektor und die Beschleunigung zu diesem.\\ | + | Dazu geht die for-Schleife alle Objekte durch und berechnet einen genormten Vektor (Länge : 1) und die Beschleunigung zu diesem.\\ |
Der Wert wird jeden Durchgang der Schleife auf den Beschleunigungsvektor addiert, welcher dann am Ende zurückgegeben wird | Der Wert wird jeden Durchgang der Schleife auf den Beschleunigungsvektor addiert, welcher dann am Ende zurückgegeben wird | ||
Zeile 153: | Zeile 153: | ||
</file> | </file> | ||
- | Die Funktion get_data() dient zum aktualisieren und speichern der Schritte in dem Dictionary data. | + | Die Funktion get_data() dient zum Aktualisieren und Speichern der Schritte in dem Dictionary data. |
- | Um die Rechenzeit zu minimieren wird der tag in 864 Zeitschritte eingeteilt, wobei ein Zeitschritt 100 Sekunden umfasst.\\ | + | Um eine annährend genaue, aber auch relativ schnelle Berechnung zu erhalten haben wir uns für eine Einteilung von 864 Zeitschritten pro Tag à 100 Sekunden entschieden.\\ |
+ | Diese Aufteilung ist klein genug um auch schnelle Trabanten mit geringer Orbithöhe zuverlässig zu simulieren.\\ | ||
Das Programm geht die Tage und Zeitschritte der Tage durch und speichert den Zustand aller Objekte.\\ | Das Programm geht die Tage und Zeitschritte der Tage durch und speichert den Zustand aller Objekte.\\ | ||