3D-Karte unserer Milchstraße

Runzelrübe

Registriertes Mitglied
Für eine Ansicht Millionen Lichtjahre entfernt oder für eine Ansicht nahe der Erde mag der darzustellende bildliche Unterschied durchaus nicht repräsentativ ausfallen.

Möchte man jedoch zum jetzigen Zeitpunkt eine Ansicht des Sternenhimmels um einen anderen Stern in unserer Nachbarschaft berechnen, lässt sich das Thema nicht mehr kleinreden. Wir schauen als Beispiel mal in Richtung eines Sterns, der 200 Lj entfernt ist und springen nun einmal linear jeweils um 1 Lichtjahr in Richtung der Position, an der wir den Stern eingangs aus Sicht der Erde gesehen haben. Nach dem 50sten Sprung schauen wir uns einmal um. Nun, wenn wir dahin zurückschauen, von wo wir gekommen sind, dann befindet sich die Erde (bzw. das Sonnensystem) nun nicht mehr sichtbar auf der Linie, aus der wir gekommen sind. Schauen wir nach vorn, befindet sich der Stern, zu dem wir wollen, auch nicht mehr auf der Linie, an der wir entlangspringen. Aber nicht nur Start und Ziel sind verschoben sondern der gesamte Sternenhimmel. Hinter uns ist er scheinbar älter, vor uns scheinbar jünger. Dass Photonen auch so elendig langsam sein müssen... :D
Innerhalb von 50 Jahren bewegt sich die Sonne um gut 0,04 Lichtjahre. Am Ende der Reise von 200 Lichtjahren kämen wir, insofern die Bewegung unseres Zielsterns um das GC auch nur bei 250 km/s lag, an einem Punkt an, der gut 1/6 Lichtjahr von seiner echten Position entfernt ist. Auch die Erde liegt gut 1/6 Lichtjahre neben unserer Linie. Und hierbei habe ich noch nicht einmal die relativen Bewegungsrichtungen der Sterne zueinander beachtet. Es kann also noch deutlich mehr ausfallen, manchmal jedoch auch weniger. Je nach Kamerawinkel hat man dann durchaus mehrere Pixel Unterschied bei jedem Stern.

Anders ausgedrückt, bei 100.000 Lichtjahren Durchmesser der Galaxie, die wir in 200 Pixel quetschen haben wir 0.5% Abweichung zum Original und merken das vielleicht echt nur in Farbveränderungen. Das mag für einen Standort außerhalb der Galaxie befriedigend sein. Für eine galaktische Karte jedoch könnten wir versucht sein, eine Lösung zu finden. Das liefe wohl aber darauf hinaus, je Stern keine Position im Raum sondern viele Positionen in der Raumzeit zu speichern. Wäre ja mal was... :)

[Edit:]

Mal abgesehen von der Genauigkeit - eine 3D Visualisierung für eine Farbbrille wäre auch etwas tolles. :D

http://www.faz.net/artikel/C31509/3d-darstellung-tanz-ums-schwarze-loch-30014563.html
 
Zuletzt bearbeitet:

mac

Registriertes Mitglied
Hallo Runzelrübe,

Für eine Ansicht Millionen Lichtjahre entfernt oder für eine Ansicht nahe der Erde mag der darzustellende bildliche Unterschied durchaus nicht repräsentativ ausfallen.
Ja. Das Beispiel mit Andromeda kam von Dir.



Innerhalb von 50 Jahren bewegt sich die Sonne um gut 0,04 Lichtjahre. Am Ende der Reise von 200 Lichtjahren kämen wir, insofern die Bewegung unseres Zielsterns um das GC auch nur bei 250 km/s lag, an einem Punkt an, der gut 1/6 Lichtjahr von seiner echten Position entfernt ist. Auch die Erde liegt gut 1/6 Lichtjahre neben unserer Linie.
Ja, bezogen auf sagg.A – gut 25000 Lichtjahre entfernt.


Und hierbei habe ich noch nicht einmal die relativen Bewegungsrichtungen der Sterne zueinander beachtet.
Ja. Die liegen aber bis auf ganz wenige Ausnahmen sehr deutlich unter der Umlaufgeschwindigkeit ums GZ.

Es kann also noch deutlich mehr ausfallen, manchmal jedoch auch weniger. Je nach Kamerawinkel hat man dann durchaus mehrere Pixel Unterschied bei jedem Stern.
Nein, jedenfalls nicht in nennenswertem Umfang, was die Kandidaten dafür angeht.

Für die Sterne in unserer Umgebung sind die Positionen und Geschwindigkeitsvektoren vergleichsweise gut bekannt.


Das liefe wohl aber darauf hinaus, je Stern keine Position im Raum sondern viele Positionen in der Raumzeit zu speichern. Wäre ja mal was... :)
Ja. Da wäre Bernhard auch nicht der Erste der das Tut. (siehe z.B. den Link zum galaktischen Jahr)


Mal abgesehen von der Genauigkeit - eine 3D Visualisierung für eine Farbbrille wäre auch etwas tolles. :D
Ja. Alternativ, um nicht den Farbeindruck zu verlieren, wäre mit einer Echtzeitrotation ein ähnlicher Effekt zu erreichen, besonders, wenn man den Standort mit Linien auf eine Ebene verlängert.


Herzliche Grüße

MAC
 

Runzelrübe

Registriertes Mitglied
Hallo MAC,

Ja. Das Beispiel mit Andromeda kam von Dir.

Ich habe mir meinen diesbezüglichen Eintrag eben nochmal durchgelesen. Du hast Recht, meine Ausführungen kann man ja tatsächlich als Vorschlag interpretieren!? :eek: Dabei wollte ich doch nur die Idee von Bernhard aufgreifen, der sich übrigens hier mächtig viel ins Zeug legt! :) Tjaja, was ein fehlendes Zitat anrichten kann, sehen wir ja derzeit in der Politik. :D

Liebe Grüße,
Rübe
 

Bernhard

Registriertes Mitglied
Hallo Rübe und MAC,

die Sache mit der Lichtlaufzeit ist tatsächlich ein Problem für das Programm. Dummerweise ist eine Berücksichtigung der Lichtlaufzeiten mit (vermutlich sehr) viel Arbeit verbunden. Man müsste dazu erst mal die Daten zusammentragen und dann auch noch im Programm berücksichtigen.

Ich persönlich bin für's Erste zufrieden damit, eine primitive Sternkarte selber geschrieben zu haben und natürlich ist es auch ein schönes Erfolgserlebnis diese Sternkarte für verschiedene Himmelsregionen zu testen und dann zu sehen, dass es rein optisch passt.

Mit der 3D-Visualisierung war ich eventuell wirklich zu vorschnell, aber es war programmtechnisch auch keine übermäßig große Sache. Wie schlimm die Vernachlässigung tatsächlich ist, bzw. was da noch geändert werden sollte, kann ich auf die Schnelle nicht beurteilen. Mir ging es für den Anfang, wie gesagt, eher um ein sehr grundlegendes, räumliches Verständnis der Messier-Objekte. Dieses Ziel ist erreicht. Alles Weitere sollte man sorgfältig planen. Die Diskussionen dazu sind sehr hilfreich - Danke dafür.
 
Zuletzt bearbeitet:

Bernhard

Registriertes Mitglied
die Sache mit der Lichtlaufzeit ist tatsächlich ein Problem für das Programm.
Um dieses "Problem" vorerst zu beheben, sollte man vielleicht noch erwähnen, dass man die Lichtlaufzeiten zu Erde ganz gut mit Hilfe der retardierten Positionen der Objekte berücksichtigen kann. MAC hatte dazu weiter oben aber schon geschrieben, dass die resultierenden Korrekturen nur für genauere Sternkarten wichtig sind. Für einen optischen Pi-Mal-Daumen-Eindruck spielen die Lichtlaufzeiten eine eher untergeordnete Rolle. Ganz interessant wären in diesem Zusammenhang die räumlichen Geschwindigkeiten der Kugelsternhaufen. Dort hat man immerhin Lichtlaufzeiten bis hin zu 80.000 Lichtjahren.
Gruß
 

mac

Registriertes Mitglied
Hallo Bernhard,

die tatsächliche (2D) Geschwindigkeit ist proportional zur Winkelgeschwindigkeit * Entfernung. Die tatsächliche Geschwindigkeit hat aber sehr enge Grenzen (Fluchtgeschwindigkeit). Um also eine 'wahrnehmbare' Winkelgeschwindigkeit zu finden, muß man bei den nahen Objekten suchen. Im richtigen Leben war es übrigens umgekehrt, da hat man zuerst bei den Sternen, die durch ihre hohe Winkelgeschwindigkeit auffielen, versucht durch Paralaxenmessungen ihre Entfernung zu bestimmen. Siehe auch: http://en.wikipedia.org/wiki/Proper_motion#History

Herzliche Grüße

MAC
 

Bernhard

Registriertes Mitglied
Version 1.1 der 3D-Sternkarte ist ab sofort freigeschaltet :) . Der Darstellungsfehler aus Version 1.0 ist behoben und man kann jetzt auch den Hipparcos-Main-Katalog (ohne Tycho) verwenden. Der Darstellungsfehler bei der Projektion auf die Sternkarte fiel mir gerade beim Hipparcos-Katalog auf. Irgendwie sammelten sich da in der Bildmitte immer viel zu viele Sterne und die Sternbilder waren hin zur Bildmitte auch mehr und mehr verzerrt :eek: . Jetzt bekommt man gerade bei Verwendung der Hipparcos-Daten eine nette Übersichtskarte mit sehr vielen Sternen.

Weitere Beschreibungen findet man direkt auf der Download-Seite: http://sourceforge.net/projects/my3dstarchart/files/.

Viel Spaß beim Ansehen und Ausprobieren.
 

Bernhard

Registriertes Mitglied
Hi Leute,

das Programm My3DStarChart.exe gibt es jetzt in der Version 1.2.

Neue Features:
- Vergrößern und Verkleinern des Gesichtsfeldes mit dem Scrollrad der Maus (Zoom)
- Verändern der Blickrichtung mit den Pfeiltasten
- Positionieren der Sternkarte innerhalb des Anzeigefensters mit den Tasten g,h,u,j

Eine kurze Programmbeschreibung befindet sich auch auf der Download-Seite. Quelltext ist auch erhältlich, inklusive hyg.csv-Katalog.

Das Programm bietet jetzt eine vollständige 2D-Sternkarte, allerdings ohne Anzeige der konkreten Sternbilder und Sternbildgrenzen.
Gruß
 

Runzelrübe

Registriertes Mitglied
Hi Bernhard,

habe mal über Deinen Quelltext drüber geschnuppert und auf Anhieb Optimierungspotenzial beim Normieren und Rotieren entdeckt. Ich schicke Dir dazu eine PM, wenn ich wieder aus dem Urlaub zurück bin. :)

Und ein großes Lob für die Mühe, die Du da reinsteckst! Ich selbst habe auch angefangen, meinen alten .NET 3D Viewer zu verfeinern. Ein aktuelles Bild siehe hier (Standort nahe Jupiter):

http://imageshack.us/photo/my-images/692/3dviewersolarsystem.jpg/

Texturen, Shading und Beleuchtung sind in dem Fall ausgestellt. Das Gittermodell zeigt den derzeitigen Stand der Triangulierung der Objekte. Alles hübsch getrennt - Viewer, Modell und Physik. Wie man sieht, ich bin immernoch im Sonnensystem kleben geblieben und mir lag es noch fern die GUI aufzuhübschen. :D
 

pmvstrm

Registriertes Mitglied
Hallo Bernhard.

Also ich habe das genauso gemacht wie Du es beschrieben hast.
Der einzige Unterschied ist, dass ich die Ultimate Version von Visual C/C++ 2010 verwende.
Hier ist der Workspace. Ich habe die Debug/Release Targes für 32/64-Bit angepasst und im
Ordner Redist die mfc42 dll's für 32/64 Bit hinzugefügt.
http://www.filesonic.com/file/2957079805/My3DStarChart.src.zip
(Du musst unten auf der Seite auf Slow download klicken, geht aber trotzdem schnell).

ps:
Wenn Du beim kompilieren trotzdem Probleme bekommst, dann fehlen Dir vermutlich noch die
Platform SDK Header (die werden in der Express Edition nicht mitgeliefert)
Kann man hier laden: http://www.microsoft.com/download/en/details.aspx?id=8279

ps:
Die Win32 Version läuft sogar unter Linux und Mac mittes LibWINE (die Starmap wird sogar
schneller nachgeladen habe ich den Eindruck:)
 
Zuletzt bearbeitet:

sebix

Registriertes Mitglied
Oh, ich dachte schon ich werde das Programm nie nutzen können, weil es nur für M$ VS geschrieben ist.

Könntest du ein Binary hochladen, würde die Software gern unter Linux ausprobieren (Hab weder Windows noch die M$-Entwicklertools)?
 

pmvstrm

Registriertes Mitglied
Oh, ich dachte schon ich werde das Programm nie nutzen können, weil es nur für M$ VS geschrieben ist.
Könntest du ein Binary hochladen, würde die Software gern unter Linux ausprobieren (Hab weder Windows noch die M$-Entwicklertools)?

Klar, kein Problem
http://www.filesonic.com/file/2957795485/stars.iso

Das ISO File kannst Du entweder auf CD ROM brennen oder es per 7zip unter Linux oder Mac OS X öffnen
und in deinen Homeordner entpacken.

Das Programm startest Du übers Terminal so: sudo wine My3DStarChart1.2.exe

ps:
Na klar brauchst Du WINE selbst. Wenn Du ein Debian Derivat hast (also z.B Ubuntu geht es konfortabel übers
Softwarecenter - dort kannst Du einfach nach WINE suchen) oder über Kommandozeile apt-get install wine eingeben.

ps2:
Unter Unbuntu wird WINE so eingerichtet, das Du eine Windows 32-Bit Exe einfach per Rechtsmausklick
und dem Menüpunkt "Mit Wine öffnen" anklickst Für MAC OS X (10.5 und höher) muss man XQuarz und
Mac Ports verwenden um Wine zu installieren.

Hier läuft das Programm unter Linux
http://img10.imageshack.us/img10/2060/ubuntustar.png
 
Zuletzt bearbeitet:

Bernhard

Registriertes Mitglied
Könntest du ein Binary hochladen, würde die Software gern unter Linux ausprobieren
Hallo sebix,

hier auch nochmal die "offizielle" Downloadseite: http://sourceforge.net/projects/my3dstarchart/files/

Dort gibt es neben dem mit VC++ 6.0 übersetzten Binary auch eine Beschreibung in Deutsch und Englisch mit dem Download-Link für den Hipparcos-Katalog. Mit einer kleinen Modifikation des Quelltextes bekommt man mit diesem Katalog dann auch eine grobe Sternkarte (ohne Koordiantenlinien) mit einer Grenzgröße über 6 Magnituden.

@pmvstrm: Vielen Dank für die Beschreibung. Werde das bei nächster Gelegenheit dann mal ausprobieren, um die "Lebenserwartung" des Programms zu steigern :) .
 

sebix

Registriertes Mitglied
Oh, da gibts ja auch ein Binary auf SF :O

Es läuft unter Wine (wine-1.3.31) out-of-the-Box (auch ohne SU-rechte @pmvstrm), allerdings nicht wenn die *.txt-Files verfügbar sind. Vielleicht könnt ihr mit dem Debug-Output etwas anfangen: http://pastebin.com/179PnVtV
Kann mich erst nächste Woche wieder damit beschäftigen.
 

Bernhard

Registriertes Mitglied
Hallo sebix,

stell' einfach mal die mfc42.dll (gibts bei jedem Windows im System-Ordner /Windows/system32/mfc42.dll o.ä) mit in's Arbeitsverzeichnis der exe.
Gruß
 

pmvstrm

Registriertes Mitglied
Also da scheinbar Interesse an einer Linux und ggf. auch Mac Version besteht, habe ich den Programmrumpf mal auf QT portiert und
und unter Win (32/64-Bit), Mac (vorerst nur 32-Bit) und Linux (32/64-Bit) kompilier (jeweils aus ein und dem selben Quellcode). Falls
Interesse besteht kann ich auch noch eine Unix (FreeBSD) Version bauen, aber das spare ich mir momentan.

Die Vorteile sind folgende:
-QTCreator ist kostenlos für Mac/Win/Linux beziehbar, so erreichen wir mehr potentielle Programmierer
-Für Visual Studio Benutzer gibts einen kostenlosen AddinWizzard der QT Makefiles in Visual Studio Solution wandern kann (und umgekehrt)
-Native Programmversionen für Windows XP/Wn7, Mac OS X Tiger, Leopard, Snow Leopard, Lion, Linux.
-Platformübergreifender Zugriff auf die Grafikhardware, XML, Netzwerk, SQL, Threads u.s.w
-Die C++ Programmierung ist konfortabler und einfacher als MFC (eigentlich ist MFC ein einziger Albtraum:D)

Mac
macosx104.png


Windows
vista64scn.jpg


Linux
ubuntu11.png


Zum entwickeln...
braucht man nur den kostenlosen QT Creator von Nokia (eine komplette C/C++ Umgebung)
Wer lieber mit Visual Studio C/C++ arbeiten will oder den Visual C/C++ Compiler und/oder Intel Compiler nutzen
will kann dies auch machen.

ps:
Die Bilder zeigen nur... den Programmrumpf auf dem jeweiligen System.Es sind native Binaries (keine
emulierten Windows EXE Dateien). Um die Darstellung der Karte habe ich mich noch nicht gekümmert (CSV),
aber es sind schon die Parameter Dialoge von Bernds Programm da und die CSV Datei wird geöffnet und
Zeilenweise komplett geladen.Die 2D Canvas Zechnungtests waren auch erfolgreich (siehe Linie).


ps2:
Der nächste Schritt... ist jetzt eigentlich nur noch die Darstellungsroutine aus Bernds Programm zu
klauen aber dazu bin ich noch nicht gekommen, danach lade ich das dann bei Sourceforge hoch
(wenn Bernhard mich als Developer invitet).

Gruß, P

QTCreator Download
 
Zuletzt bearbeitet:
Oben