Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi drehende Sternkarte (https://www.delphipraxis.net/133644-drehende-sternkarte.html)

pbwinner7 6. Mai 2009 09:21


drehende Sternkarte
 
Ich möchte eine sich drehende Sternkarte programmieren, wobei sich also von Zeit zu Zeit (ca. alle 5 min) die Sternkarte um den exzentrisch gelegenen Nordpol weiterdreht. Dabei soll von der ganzen sternkarte nur ein bestimmter Bereich sichtbar sein. Wie programmiert man sowas?
Der Bildausschnitt der Sternkarte sollte also immer den aktuell sichtbaren Sternenhimmel "zeigen", aber nur z.B. vom Zenit bis zum Horizont und von Westen bis Osten, das würde mir reichen.
Die Sternkarte kann man sich selber entweder herunterladen oder durch eine Kamera von einer Zeitschrift beziehen. Wie programmiert man aber solch ein drehbares Bild ohne daß dabei Verzerrungen entstehen?
Ich danke Euch im voraus für Eure Antworten!

oki 6. Mai 2009 11:33

Re: drehende Sternkarte
 
Eine Grafik des gesamten Sternenhimmels nehme, drehen, sichtbaren Bereich auf Canvas kopieren; denke ich sollte ein Weg sein.

Gruß oki

Ähhm sorry :dp: Herzlich willkommen in der DP!

oki 7. Mai 2009 12:37

Re: drehende Sternkarte
 
hallo pbwinner7,

nachdem ich deine PM erhalten habe möchte ich das Thema, wie beschrieben, lieber vertiefen. Da ich auch keinen konkreten Beispielcode für dich habe, bleibt imho wohl nur der lange Weg :) hier diskutieren und auf Hilfe anderer hoffen.

Also, hier mein Vorschlag.

1. Du suchst dir eine hinreichend große Grafik des Sternenhimmels. (mind. für die Nordhalbkugel)
2. du lädst diese Grafik in ein Bitmap. Das geht am Besten über die Klasse TGraphics.
3. jetzt kommt Astronomie und Mathematik: Du mußt ermitteln, um wieviel Grad du die Grafik in Bezug auf das aktuelle Datum und die Urzeit drehen mußt. Dann ist es wichtig zu wissen, für welchen Breitengrad du die Anzeige vornehmen willst. Damit mußt du dann ermitteln, um wieviel Grad der astronimische Norden (Nordstern) aus der Lotrechten verschoben werden muß.
4. Anhand dieser Berechnungen drehst du die Grafik und kopierst den sichtbaren Ausschnitt auf deinen Canvas.

Das alles machst du dann immer wieder neu in den von dir gewählten Refresh-Intervallen.

Also, such erst mal die Grafik und die Mathematik raus, stell sie hier vor und dann kann man ans Coden gehen. Es macht auch erst dann Sinn mit dem Coden anzufangen.

Gruß oki

R2009 7. Mai 2009 13:15

Re: drehende Sternkarte
 
Hi,

das mit dem Bild des Sternhimmels hat so seine Tücken.
1.) Was machst du mit den Planeten oder den anderen beweglichen Objekten?
2.) Was machst du gegen Verzerrungen die vom Fotographen kommen?
3.) Woher kennt dein Programm den Himmelsnordpol also den Drehmittelpunkt deiner Karte?
4.) Du musst den 0-Meridian kennen sonst kannst du 0 Uhr nicht festlegen.

All das kann ein Automat nicht.

Ich halte das Ganze für unnötige Arbeit. Es gibt soviel Freeware zu diesem Thema....
Etwas anderes wäre es wenn du ein virtuelles Bild erzeugen würdest und die einzelnen Sterne selbst einträgst.
Du müsstest dann die Position der Sterne zu irgendeinem definierten Zeitpunkt kennen.
Dann sind die Planeten, Sonne Mond und Asteroiden kein Problem.

Viele Grüsse.

himitsu 7. Mai 2009 13:24

Re: drehende Sternkarte
 
Nahezu alle Programme, welches sowas "ordentlich" darstellen haben eine Liste der Sterne und ihrer Position
und berechnen und zeichnen darüber dann die sichtbaren Sterne.

Ansonsten brauchst du schon ein Bild, welches wesendlich größer ist, als der sichtbare Bereich
so daß durch Runterrechnen/Verkleinerung die Verzehrungen minimiert werden können.

Aber wie R2009 schon erwähnte, was macht du mit den veränderlichen Dingen?
z.B. Position auf der Erde, Position der Erde im All usw.
Was ist mit Planeten, Asteroiden und dem Mond?

Und klar gibt es schon massenhaft fertige Programme, aber gegen ein "Gute" aus der DP-Gemeinde ist auch nichts einzuwenden :angel2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 Uhr.

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