MA_Milkyway
| Veröffentlicht: |
31.10.2025 |
| Status: |
experimentell |
Das bisher einzige Makro
MW_Milkyway_Pigment gibt ein Pigment zurück, das im Normalfall einer Sky-Sphere hinzugefügt wird. Das Pigment enthält ein oder mehrere Image-Maps mit den gewünschten Karten, gedreht und verschoben wie per Makro-Aufruf und den globalen Variablen
MW_* vorgegeben.
Die resultierende Ansicht entsteht durch mitgelieferte, sehr hochaufgelöste Bilder. Nichts wird mit Texturen, Color-Maps oder anderen Povray-Mitteln erzeugt.
Rohdaten und weitere Bilder
Sämtliche Bilder stammen von einer Webseite des
GSFC. Die im Paket enthaltenen Dateien habe ich auf eine Auflösung von 16.000x8.000 Pixeln begrenzt (16k), damit die Dateigröße des ZIPs nicht ausufert.
Weitere Informationen, zusätzliche Karten und 32k-Versionen aller Bilder siehe Rubrik
Download - Milchstraße.
Mit den höchsten Auflösungen sollte vorsichtig umgegangen werden. Wenn die Milchstraße zusammen mit allen 3 Linien-Karten in höchster Auflösung angezeigt wird, landen vier jeweils 32k-Bilder im RAM, wo Povray die JPEGs/PNGs in unkomprimiertes Bildformat umwandelt.
Beispiel-Dateien
In der Datei
ma_milkyway_examples.pov habe ich mehrere Anwendungsfälle bereitgestellt, mit denen das Paket in Ruhe getestet werden kann.
Datei
ma_milkyway_example_simple.pov enthält den minimal erforderlichen Code, um ganz ohne das Paket zwei Karten übereinander anzuzeigen.
Simples Beispiel
Sind sämtliche Povray-Arbeiten drumherum erledigt (Version, Kamera, Licht), braucht es für die Erzeugung der Milkyway nur wenige Zeilen.
#include "ma_milkyway.inc"
sky_sphere {
//MW_Milkyway_Pigment (mMoveRight, mMoveUp, mResolution)
MW_Milkyway_Pigment(98, 61, 32) //Crux
}

Das Kreuz des Südens
Das Makro
MW_Milkyway_Pigment gibt ein oder mehrere Pigments zurück, die auf die Sky-Sphere gelegt werden.
Sämtliche im Pigment enthaltenen Bilder werden um 98 Grad nach rechts und 61 Grad nach oben verschoben. Ist die Kamera auf Z- platziert und guckt auf <0,0,0>, erscheint im Bereich Z+ das
Kreuz des Südens.
Der letzte Parameter gibt die Auflösung an, 32 sind entsprechend 32k (in der Breite). Im Paket enthalten sind die Größen 4k, 8k und 16k, die 32er-Version liegt in der Rubrik
Download.
Für HD-Renderings und einen Kamera-Winkel von 40 Grad oder höher reicht die 16k-Version völlig aus, für schnelle Tests oder Kamerawinkel > 60 Grad stehen die kleineren Versionen bereit.
Variablen
Durch globale, vordefinierte Variablen kann die Anzeige weiter verändert werden.
Allen voran die Einblendung diverser Sternbild-Linien und des Grids.
#include "ma_milkyway.inc"
#declare MW_Show_Figures = 1;
#declare MW_Show_Bounds = 1;
#declare MW_Show_Grid = 1;
sky_sphere {
MW_Milkyway_Pigment(-155, -28, 8) //Summertriangle
}

Das
Sommerdreieck mit allen verfügbaren Linien-Maps.
Ist etwas zu viel des Guten.
Linien-Karten sind bis auf die Linien durchsichtig und werden vor die Milchstraße gelegt bzw. als letzte erzeugt.
Die Intensität aller Maps kann mit den Variablen
MW_Transmit_* angepasst werden. Wert 0 sind die unveränderten Maps, Wert 1 bedeutet sie werden komplett schwarz, negative Werte drehen die Helligkeit rauf. In Animationen is ein langsamer Anstieg von 0 auf 1 gut zum Ausblenden einer Szene geeignet.
#include "ma_milkyway.inc"
#declare MW_Show_Figures = 1;
#declare MW_Show_Bounds = 1;
#declare MW_Transmit_Milkyway = -2.7;
#declare MW_Transmit_Figures = +0.2;
#declare MW_Transmit_Bounds = -0.3;
sky_sphere {
MW_Milkyway_Pigment(-155, -28, 8) //Summertriangle
}

Derselbe Ausschnitt wie oben, nur mit hellerer Milchstraße und unterschiedlich dicken Linien.
Für weitere Erklärungen und Spielereien siehe Beispieldatei
ma_milkyway_examples.pov.
Maps-Pfad
Der Pfad auf die Bilder muss relativ zum ausführenden Skript angegeben werden. Theoretisch könnte man den Pfad auch absolut angeben oder alles in die Povray-Include-Ordner packen, aber da geht schnell die Übersicht verloren.
Wie auch immer, zuständig dafür ist die globale Variable
MW_Maps_Path.
Folgende Dateistruktur angenommen:
projects (folder)
--> my_space_scene.pov
packages (folder)
--> maps (folder)
--> ma_milkyway.inc
Entsprechend muss der Pfad in der Datei
my_space_scene.pov gesetzt werden:
#declare MW_Maps_Path = "../packages/maps/";
#include "../packages/ma_milkyway.inc"
sky_sphere { ... }
Ob vor oder hinter dem Include ist egal, das sie erst im Makro-Aufruf verwendet wird.
Offene Todos
Bisher habe nur getestet, wie die Ausgabe in Weltraum-Szenen aussieht. Eine terrestrische Ansicht, mit irdischen Objekten im Vordergrund und anderen Lichtverhältnissen, habe ich erstmal außen vor gelassen. Vielleicht werden dafür weitere Änderungen nötig.
Ebenfalls wird der Abgleich mit anderen planetaren Objekten noch interessant, z.B. wie man die Helligkeit von Mond, Mars und der Milchstraße vernünftig aufeinander abstimmen kann. Immer die Karten neu erstellen, nur mit anderen Helligkeitswerten, ist sicher keine Option.
Desweiteren ist das Transmit-Verhalten von Karte aber auch den Linien nur bedingt getestet. Besonders in einer Animation sieht bekanntlich alles anders aus als in einem alleinstehenden Rendering.
Ist somit noch Arbeit offen.
Version 1.1 kommt irgendwann.
Immerhin, eine ältere Version von MW_Milkyway habe ich bereits erfolgreich
in einem Video verwendet.
Download
⬇
ma_milkyway.7z => 107 MB 7-Zip - Aktuelle Version 1.0 vo 31. Oktober 2025