Delphi-PRAXiS
Seite 1 von 3  1 23      

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr.
Seite 1 von 3  1 23      

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