Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Planetensystem !!! (https://www.delphipraxis.net/37117-planetensystem.html)

taza 31. Dez 2004 13:26


Planetensystem !!!
 
Ich habe vor langer Zeit bereits eine Planetensystem-Simulation programmiert doch aufgrund schulischer Gegebenheiten würde ich dieses gerne umändern !!!

Hier meine ungefaire Lösung, wie das ganze bis jetzt aussieht:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   //Erde
   begin
   Image1.enabled:=true; //Image1 beinhaltet ein Bild der Erde
   Image1.visible:=true;
   alpha1:=alpha1+0.025;
   Image1.left:=round(X1);
   X1:=R1*cos(alpha1+0.3)+Xm;
   Image1.top:=round(Y1);
   Y1:=R1*sin(alpha1)+Ym;
   end;
end;
Letztendlich erreiche ich so eine kreisförmige Bewegung der Erde !

Nun soll das zu kreisende Objekt jedoch nicht die Erde sondern ein Satellit sein, der nach der sogenannten "swing by" Methode beschleunigt wird, indem er z.B. zuerst um die Erde kreist, dann um den Mars, um nach einem weiteren Schwungholen um die Erde schließlich einen weiter entfernten Planeten erreicht.

Diese Herausforderung stelle ich hier mal in den Raum, mal sehen, ob einer möglichst schnell auf eine Idee kommt, weil ich bin langsam ratlos !!!!!

Danke schonmal :roll:

Torpedo 31. Dez 2004 18:39

Re: Planetensystem !!!
 
Ich weiß zwar keine Antwort, aber die Erde "kreist" imho nicht in einer kreisförmigen Umlaufbahn um die Sonne.
Vielleicht solltest du das noch ändern, sonst ist die Simulation keine Simulation :wink:

Hansa 31. Dez 2004 20:36

Re: Planetensystem !!!
 
So etwas war schon 16?? bekannt, als Newtonsches Gravitationsgesetz :

Anziehungskraft = g * Masse1 * Masse 2 / r²

g = Gravitationskonstante.

So was ist heutzutage schon fast eine primitive Formel und dürfte sich leicht in ein Programm einbauen lassen. Da das r allerdings den Massenmittelpunkt der einzelnen Massen darstellt, ist die Ausdehnung derselben auch nicht unwichtig (z.B. Sonne). Ich würde alles so weit reduzieren, daß es einfacher wird. Also elliptische Bahnen, Bahnneigung, Überschneidung des Abstandes (Neptun ist manchmal näher an der Sonne, als Pluto) und vor allem unseren eigenen Mond vernachlässigen.

Was der macht, kann man tagtäglich an der Nordsee sehen. 8)

Jelly 1. Jan 2005 14:19

Re: Planetensystem !!!
 
Zitat:

Zitat von Hansa
So etwas war schon 16?? bekannt, als Newtonsches Gravitationsgesetz :

Anziehungskraft = g * Masse1 * Masse 2 / r²

g = Gravitationskonstante.

So was ist heutzutage schon fast eine primitive Formel und dürfte sich leicht in ein Programm einbauen lassen.

Naja, das Gesetz mag zwar sehr leicht aussehen. Sobald du aber mehrere Systeme koppelst (also mehrere Planetem gleichzeitig simulieren willst) stößt du ab 3 Körpern an die Grenzen der Mathematik, da du keine analytischen Lösungen mehr finden wirst, und du auf numerische Methode zurückgreifen musst... Also so primitiv ist das alles gar nicht.

taza 1. Jan 2005 15:06

Re: Planetensystem !!!
 
Das ist genau der Punkt, es sieht vielleicht im ersten Moment einfacher aus, als es tatsächlich ist...........

Das Problem: Der Mittelpunkt um die der Satellit kreist, ändert sich ja ständig, weshalb es keine allgemeingültige Formel geben kann !!!

Wenn einer mal eine Lösung schreiben könnte, wäre ich sehr dankbar :wink:

Ach und PS: Natürlich sind die Kreisbahnen Ellipsen, das sieht man ja schon daran, dass der Radius an zwei Richtungen unterschiedlich ist ...

Wenn jemand mal mein bisheriges Programm haben will, um sich ein Bild von dem jetztigen Stand zu machen, ist das auch kein Problem; vielleicht kann man dieses dann auch besser "abändern"

MfG
taza

Luckie 1. Jan 2005 15:22

Re: Planetensystem !!!
 
Vielleiocht hilft das: http://www.delphipraxis.net/internal...hlight=grav%2A

Hansa 1. Jan 2005 15:35

Re: Planetensystem !!!
 
Meine Antwort war auch eher eine auf Torpedos Antwort. :shock: Jelly hat es besser formuliert als ich : wie gesagt, die Formel an sich ist einfach, aber je mehr Sonderfälle man einbaut, um so schlimmer wird sie. Ich würde das Problem deshalb immer nur auf 2 Massen reduzieren und Elipsen, Bahnneigung usw. weg lassen. Z.B. so : der Mond dreht sich nur um die Erde und wird von Sonne usw. nicht beeinflußt, genauso wenig wie ein Satellit von Sonne oder Mond.

Ein Swing By Manöver zu simulieren, au Backe. :mrgreen: Alleine schon den Winkel der Ablenkung zu berechnen um den die Sonde am Mars umgeleitet und beschleunigt wird. Dann spielt die Zeit noch eine gewaltige Rolle, denn wo befindet sich die Erde überhaupt, falls die Sonde per swing by vom Mars zurückkommt ? Verfehlt sie die Erde, dann gute Nacht, bzw. guten Tag Sonne !

Solange kein Modell für so was steht, brauchst du auch keinen Source.

taza 1. Jan 2005 17:15

Re: Planetensystem !!!
 
Aso, nun ist natürlich noch zu sagen, dass das Programm allein auf Werten beruht, will heißen, hier von einer richtigen Simultion zu sprechen, wäre eh Quatsch !!!

Das heißt mögliche Einflüsse von Gravitation wird hier eh nicht berücksichtigt.....

Ich wäre aber erfreut, wenn jemand solch ein Programm einmal zur Verfügung stellen könnte, vielleicht kann ich dann anhand dessen einmal herumexperimentieren :-D

supermuckl 1. Jan 2005 17:21

Re: Planetensystem !!!
 
Zitat:

dass das Programm allein auf Werten beruht,
also fliegt da der flugkörper eine vordefinierte bahn (z.b. koordinaten aus einer datei geladen ) ?

Jelly 1. Jan 2005 17:25

Re: Planetensystem !!!
 
Zitat:

Zitat von supermuckl
also fliegt da der flugkörper eine vordefinierte bahn (z.b. koordinaten aus einer datei geladen ) ?

Wie Taza es bis jetzt macht, ist die Körper einfach über den Timer auf ner Kreisbahn zu bewegen.

supermuckl 1. Jan 2005 17:43

Re: Planetensystem !!!
 
das seh ich auch!
aber wenn er da mehrere dynamiken drin haben will, und das ohne berechnungen ( soll ja keine simulation sein ) dann läufts ja zwangsweise auf eine "abspielfunktion" hin, die die planeten nach einer festen route bewegt

:gruebel:

Jelly 1. Jan 2005 17:50

Re: Planetensystem !!!
 
Die Route würd ich aber nicht als Koordinaten aus einer Datei lesen, sondern einfach über paar Parameter mathematisch definieren, die wären

Radius der Bahn (rsp. 2 Radien falls Ellipsenbahnen), oder auch eventuelle Hyperbeln
Neigungswinkel der Ebene. Das reisht völlig aus. Für die Darstellung würd ich mit OpenGL rangehen, das erleichtert Einiges bei der Visualisierung.

supermuckl 1. Jan 2005 17:54

Re: Planetensystem !!!
 
Zitat:

Für die Darstellung würd ich mit OpenGL rangehen
*zustimm*

und das es noch einfacher ist, gleich noch GLscene benutzen *g*

Sharky 1. Jan 2005 17:59

Re: Planetensystem !!!
 
Hai taza,

auch wenn viele sagen es wäre "doch so einfach" :roll:
Grundlegend würde ich sagen: schaue Dir mal dir "Keplerichen Gesetze" an. Mit diesen ist es ohne Probleme möglich die Bahnen der ersten 8 Planeten zu beschreiben.
Für eine 100%ige Beschreibung sind bis heute alle Computer überfordert. Wenn Du versuchst die Gravitationsgesätze zu verarbeiten hast Du keine Möglichkeit mehr "genau" zu sein.

Kepler hat das relativ einfach beschrieben.

P.S.: Wenn Dein Model fertig ist würde ich es mir gerne ansehen

Jelly 1. Jan 2005 18:29

Re: Planetensystem !!!
 
Zitat:

Zitat von Sharky
Mit diesen ist es ohne Probleme möglich die Bahnen der ersten 8 Planeten zu beschreiben.

Aber wie gesagt, solange du die Wechselwirkung unter den Planeten vernachlässigst, was man durchaus machen kann.

Kepler basiert auch einfach auf dem Gravitationsgesetz. Als interessant Komponente kommt hier lediglich noch die Zeit hinzu, mit der du dann auch die Geschwindigkeit der Planeten reinbringen kannst.

Hansa 1. Jan 2005 19:47

Re: Planetensystem !!!
 
Sogar die keplerschen Gesetze sind für ein Swing By Manöver viel zu einfach. Damit hauts wohl kaum hin. Wie sich jetzt langsam rausstellt, handelt es sich aber eher um eine visuelle Demonstration und nicht darum, variable Werte zu benutzen. Ich würde zuerst mal versuchen, die Bahnen der damit in Zusammenhang stehenden Planeten in zeitlicher Abfolge hinzukriegen. Danach könnte man dann die Flugbahn der Sonde einzeichnen.

taza 2. Jan 2005 12:58

Re: Planetensystem !!!
 
Ach du meine Güte...........irgendwie hätte ich mir das alles etwa einfacher vorgestellt :?

Wäre jemand mal bereit ein kleines Programm zu schreiben ? Weil ich bin dank der zahlreichen Tips ein wenig verwirrt ............ :lol:

Danke schonmal, ich werde auch weiterhin mein bestes versuchen !!!

Jelly 2. Jan 2005 13:04

Re: Planetensystem !!!
 
Zitat:

Zitat von taza
Wäre jemand mal bereit ein kleines Programm zu schreiben ?

Das wag ich zu bezweifeln, daß dir hier jemand ne fertige Lösung liefert. Das Thema ist nun mal nicht so ganz trivial. da wird sich wohl keiner finden lassen der sich da Stunden hinsetzt und dir was programmiert?

Luckie 2. Jan 2005 14:59

Re: Planetensystem !!!
 
Klar, gegen entsprechende Bezahlung gerne. Da das Thema nicht gerade Trivial ist und erstmal in die Theorie eine gewisse einarbeitungszeit gesteckt werden muss, die Wenigsten dürften das dafür notwendigen astronomischen Grundwissen besitzen, würde ich mal so 40 Euro Stundenlohn veranschlagen und so mit mindestens 10, wenn nicht sogar 20 Stunden rechnen und das nur für einen sehr erfahrenen Programmierer, der nicht erst lange rumprobieren muss, wie man auf eine Paintbox zeichnet. Insgesamt wären das also so um die 400 bis 800 Euro ohne Quellcode. Willst du auch noch den Quellcode haben würde ich noch mal so ca. 200 für den Quellcode draufschlagen, da es doch ein sehr schönes Programm wäre. mach mir ein Angebot. Für mich würde ich da aber eher 40 Stunden veranschlagen, denke ich.

taza 2. Jan 2005 16:05

Re: Planetensystem !!!
 
*lol*

Es ist doch klar, dass ich nichts fertiges und ausgereiftes erwarte................. :???:

Es war lediglich ein kleiner Ansporn zum weiteren tiefgründigen Nachdenken !!!

Früher oder später komme ich schon drauf, nur ich brauche das eben sehr bald.
Ich kann euch erstmal auch nur weiterüberlegen lassen..........

Cya
:gruebel:

Orbmu2k 3. Jan 2005 13:09

Re: Planetensystem !!!
 
Das wäre doch schonmal ein Anfang

http://sourceforge.net/projects/celestia/

Allerdings kein Delphi ....

und dann entsprechend modifizieren ....

taza 3. Jan 2005 18:15

Re: Planetensystem !!!
 
Oh mann, ich muss schon sagen, das Programm ist genial; zwar kann ich es nicht wirklich verwenden, aber es ist trotzdem sehr anschaulich und professionell !!! Danke dafür :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz