hallo,
ich würde gerne ein planetariumsprogramm in silverlight entwickeln.
straonoimsche formeln zur berechnung der positionen von planeten, sternen usw. habe ich mir schon zusammengesucht.
Was ich bisher nicht gefunden habe: Wie kann ich diese positionen grafisch darstellen?
Es sollte ja eine Projektion sein - der Beobachter steht auf der Erde und kann in alle Richtungen blicken können - also so, wie es "in echt" ist. 😉
D.h. ich muss die Position eines Objektes von Rektaszension (=Höhe) und Deklination (=Winkel) auf eine Kugel projezieren und der Betrachter befindet sich im Inneren dieser Kugel. Da ich noch nichts passendes gefunden habe, möchte ich gerne fragen, ob jemand von euch ein paar Informationsquellen im Netz dazu kennt?
Etwas, das ein wenig in diese Richtung geht, habe ich (für Flash) auf dieser Seite gefunden: http://astrotips.com/index.php?module=PostWrap&page=/static_html/flash_planetarium.html
thx
hannes
Hallo,
👍 find ich gut, hab ich auch mal geschrieben 🙂
Wobei die Rektaszension der Stundenwinkel und die Deklination die Höhe bezüglich des Himmelsäqutors ist.
D.h. ich muss die Position eines Objektes von Rektaszension (=Höhe) und Deklination (=Winkel) auf eine Kugel projezieren
Für die Projektion musst Du
Du kannnst Dir mal Winkel und Kugelkoordinaten ansehen, da gibt es auch eine Methode, die den Abstand zweier Punkte auf der Kugel berechnet und Einiges andere, das Dir das Leben bei diesen Berechnungen leichter macht.
Ich würde Dir auch ein Stück zusammenhängenden Code posten, aber verteilt sich das schon wieder auf eine abstrakte Basisklasse, von der mehrere verschiedene Projektoren erben, und basiert vollständig auf den oben verlinkten Structs - da müsste ich erst mal das wesentlichste rausziehen.
ABER: Rektaszension und Deklination sind vermutlich gar nicht die Koordinaten, die Du haben willst, denn ich denke Du willst einem Beobachter auf der Erde eher azimutale Koordinaten (also Azimut=Horizontwinkel und Altitude=Höhenwinkel (über dem Horizont) anbieten(*).
Dazu müssen die Koordinaten noch von RA/Dec in Alt/Az umgerechnet werden, wobei die Umrechnung von der geographischen Position des Beobachters und der Zeit abhängt.
Ich habe das über das für mein Programm über das nautische Dreieck berechnet, das wäre mal ein Ansatzpunkt in dieser Richtung.
Mit den gesuchten Begriffen kannst Du Dich ja mal an die Implementierung machen, wenn's irgendwo konkret hakt kannst Du ja nochmal nachfragen.
Viel Erfolg!
MarsStein
(*) das Bild im Anhang zeigt als grünes Gitternetz die azimutalen Koordinaten - wobei die dicke grüne Linie der Horizont ist. Das rote Gitternetz ist das parallaktische mit Rektaszension und Deklination. In diesem haben die Sterne (fast) feste Koordinaten, nur die der Planeten ändern sich. Welchen Bereich des Sternenhimmels oder welche Planeten der Benutzer gerade sehen kann, hängt von der Lage der beiden Gitter zueinander - genau genommen von der Lage des Horizonts - ab, welche sich mit der Zeit und der geographischen Position ändert.
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Hallo und vielen Dank für deine umfangreiche Antwort!
muss mir zu Hause mal deine Links durchschaun und mich genauer einlesen, um sinnvolle Fragen stellen zu können 😉 - vorab schon mal vielen Dank für deine angebotene Hilfestellung!
ABER: Rektaszension und Deklination sind vermutlich gar nicht die Koordinaten, die Du haben willst, denn ich denke Du willst einem Beobachter auf der Erde eher azimutale Koordinaten (also Azimut=Horizontwinkel und Altitude=Höhenwinkel (über dem Horizont) anbieten(*).
Genau das möchte ich.
Ich hab mich schon etwas mit ephemeridenberechnung beschäftigt, was mir vorerst aber mal egal sein kann - vorab möchte ich einfach mal versuchen, sterne korrekt darzustellen. Ich habe mir gedacht, ich werde es so angehen:
Der Screenshot ist von deinem Programm?
Wow - schaut verdammt gut aus!
thx
hannes