Bahnberechnungen

Status
Es sind keine weiteren Antworten möglich.

MichaelSessler

Neues Mitglied
Hallo!
Ich soll ausbildungstechnisch ein C++ Programm schreiben, dass die Bewegung der Planeten um die Sonne darstellt. Eigentlich sollen die Planeten einfach nur willkürliche Kreise ziehen, aber das ist mir dann doch zu banal :-)

Wer weiß, wie man die Planetenbahnen und -Positionen berechnet? Auch Quellenangaben wären hilfreich.

Danke schonmal!
 
Hallo Michael!

Quellen gibt's da soviel, dass man dich damit zuschmeissen könnte.

Weil du explizit C++ erwähnst, möchte ich dir das Buch "Astronomie mit dem Personal Computer" empfehlen. Da kommt eine CD mit portaben C++ Sourcen mit, die eine gute Grundlage bilden. Allerdings wird dort nur gerechnet, die Grafik müsstest du selbst beisteuern.

Andere Bücher geben entweder keine Programme (sondern nur Rechenverfahren oder Formeln) an oder sie benutzen nicht C++ dafür.

Übrigens wäre diese Anfrage im Board "Karten, Software und Literatur" besser aufgehoben. Vielleicht möchte sie ein freundlicher Moderator noch dorthin schieben?

Gruß,
Tom
 
Hallo!
Danke schonmal für die Tipps.
Bin allerdings noch nicht weiter.
Hat zufällig jemand ne Internet-Quelle zur Berechnung?
Will wegen der einen Aufgabe nicht unbedingt ein Buch kaufen (zumal es eine C++ Aufgabe ist, keine Astro-Aufgabe).
 
Hallo!
Will wegen der einen Aufgabe nicht unbedingt ein Buch kaufen
Wenn du genug Zeit hast, kannst du dir das Geld für ein Buch sparen und dir die benötigten Formeln / Daten alle einzeln aus dem Web recherchieren. Du solltest aber die "eine Aufgabe" nicht unterschätzen. Es ist keine Hexerei, aber mit zwei, drei Gleichungen ist es bei weitem nicht getan. Wer's wie ich schon mal gemacht hat, wird das bestätigen können.

Mit den Suchbegriffen "Ephemeris calculation source code" findet Google schon ganz brauchbare Sachen, aber der Punkt ist, dass du mit Sourcecode alleine nicht weiterkommen wirst. Ohne ein Verständnis der mathematischen und astronomischen Grundlagen dahinter läuft eigentlich nichts.

Ich wünsche dir viel Erfolg ohne Buch. Wenn du es dir doch noch anders überlegst (was ich dir hiermit nochmal eindringlich ans Herz legen will), dann kannst du dir auch das Buch von Guthmann reinziehen (ohne Sourcecodes in C++ und ohne CD) oder mal beim Astro-Shop in der Ephemeridenabteilung vorbeischauen <img src="/phpapps/ubbthreads/images/icons/wink.gif" alt="" />

Gruß,
Tom
 
Hi,
ich habe sowas in C++ implementiert. Genauer gesagt handelt es sich um die Planetentheorie VSOP87 von Brentagon und umfasst die Planeten von Merkur bis Neptun.
Wegen der vielen Korrekturterme ist der Quellcode aber sehr umfangreich !

CS

Wolfgang
 
Hallo Michael,

ich möchte dir jetzt nicht den Mut nehmen, aber Bahnberechnungen sind wirklich nicht mit ein oder zwei kleinen Förmelchen abgetan. <img src="/phpapps/ubbthreads/images/icons/ooo.gif" alt="" /> Da ist schon ein bisschen mehr nötig. Wenn es dich wirklich interessiert, kannst du dir wirklich mal schon das oben vorgeschlagene Buch von Guthmann reinziehen. Hab ich auch und sehr viel dadurch gelernt. Ist aber ohne gute Mathekenntnisse nur sehr schwer nachvollziehbar.

Vielleicht ist ja dieser Ansatz hier hilfreich für dich:

Berechne die Positionen einfach mit dem Einkörperproblem. Da hast du nur die Sonne als Massepunkt. Dann kannst du mit dem Gravitationsgesetz die Positionen aus den Anfangswerten berechnen. Dazu verwendest du die numerische Integration und ein einfaches Verfahren wie z.B. das von Runge- Kutta. Das wird dann auch nicht so kompliziert und es auch gut in C++ mithilfe von Klassen implementierbar.

Aber ich an deiner Stelle würde trotzdem einfach die Kreise nehmen. <img src="/phpapps/ubbthreads/images/icons/wink.gif" alt="" />

Bis dann, Christian

 
Ja, jetzt kommen wir langsam in die Richtung, die ich mir vorgestellt habe :-)
Was ich suche ist ne halbwegs brauchbare Näherung.
Muss nicht alles exakt sein - wenn so'n Planet mal etwas abweicht macht nix, hauptsache, die Bahnen stimmen so vom Verhältnis her (keine Kreise).
Gegenseitige Beeinflussung etc. kann ich später immernoch machen, wenn ich mal Zeit und Lust habe.
Im Moment such ich was relativ banales, so dass die Konstellationen der Realität zumindest etwas ähnlich sind.

Hat dazu jemand ne Quelle / Idee?

Danke schon mal!
 
Hallo

> Was ich suche ist ne halbwegs brauchbare Näherung.

de Befehl unter Windows lautet:
Ellipse(hwnd, x1,y1,x2,y2); <img src="/phpapps/ubbthreads/images/icons/cool.gif" alt="" />

Nein im Ernst, Planetenbahnen sind Ellipsen in deren einem
Brennpunkt die Sonne steht. Da du keine echte Simulation
machen möchtest hier eine (matemathisch inkorrekte) Möglichkeit.

<pre><font class="small">code:</font><hr>
double fx = 100; double fy = 200; // Vergrößerungsfaktoren X, Y
double t; // Zeit

for(t = -PI/2; t<PI/2; t+=.1) // oder sowas
MalePlanet(sin(t)*f, cos(t)*f);
</pre><hr>
Wenn du richtig simulieren möchtest geht das natürlich nicht so einfach!

Ciao, Heiner

 
Langsam wirds interessant ;-)
Vielen Dank an Thomas, der Link sieht vielversprechend aus.
Aber natürlich auch danke an alle anderen :-)

Sowas in der Art hab ich gesucht.
Englisch ist kein Problem, solange es nicht chinesisch oder suaheli ist...
 
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben