Wie heißt die elliptische 2D-Projektion der Himmelskugel und wie kann ich eine erstellen?

Ich sehe diese Art der Projektion der Himmelskugel in 2D häufig, normalerweise mit einem Bild der Milchstraße oder einem kosmischen Mikrowellenhintergrund . Dieses spezielle Bild zeigt den Weg der sichtbaren Transite der Planeten des inneren Sonnensystems über die Sonne, wie sie von Orten außerhalb des Sonnensystems aus dem Motherboard-Artikel At Least 9 Exoplanets Could See Earth With Present-Day Human Technology zu sehen sind, der verlinkt ist auf: R. Wells, K. Poppenhaeger, CA Watson, R. Heller; Transit Visibility Zones of the Solar System Planets , Monthly Notices of the Royal Astronomical Society, stx2077, https://doi.org/10.1093/mnras/stx2077

Frage: Wie heißt die elliptische 2D-Projektion der Himmelskugel und wie kann ich eine erstellen? Gibt es ein Python-freundliches Paket, aber was noch wichtiger ist, gibt es einen mathematischen Ausdruck für diese Transformation?

Geben Sie hier die Bildbeschreibung ein

Ich glaube, das ist die Mollweide-Projektion ( en.wikipedia.org/wiki/Mollweide_projection ). Ich habe es immer die elliptische Projektion genannt, was ein gültiger alternativer Name ist.
@barrycarter-Bingo!
@barrycarter: Sie haben wahrscheinlich Recht, aber ich möchte darauf hinweisen, dass die Hammer-Projektion ( en.wikipedia.org/wiki/Hammer_projection ) und die Tobler-Projektionen ( en.wikipedia.org/wiki/Tobler_hyperelliptical_projection ) ebenfalls elliptisch sind oder nahezu elliptische flächentreue Projektionen.

Antworten (1)

Ich möchte sagen, das ist eine Mollweide-Projektion . Ich weiß, dass sie in der Astronomie ziemlich verbreitet sind; Viele Bilder des CMB verwenden sie. Ich habe vor kurzem tatsächlich mit einem gearbeitet. Gegebener Breitengrad φ und Längengrad λ , der x und j Koordinaten eines Objekts sind

x = R 2 2 π ( λ λ 0 ) cos θ , j = R 2 Sünde θ
zum Projizieren von einer Kugel mit Radius R . θ ist die Lösung für
2 θ + Sünde 2 θ = π Sünde φ
Ähnliche Bilder finden Sie hier (bezeichnet als Mollweide-Projektionen), die die gleiche Form und Proportionen haben:

Geben Sie hier die Bildbeschreibung ein

Mit Matplotlib können Sie Mollweide-Projektionen erstellen. ein nettes Tutorial findet ihr hier . Basemap ist eine Möglichkeit, obwohl ich sie noch nie benutzt habe. Es hat einige verschiedene eingebaute Projektionen. In den verschiedenen Matplotlib-Implementierungen sind einige interessante Funktionen verfügbar, und mit dem ephemPaket können Sie astronomische Daten verwenden. Allerdings habe ich festgestellt, dass die Transformationen nicht so schwer von Hand zu implementieren sind; Ich konnte einige grundlegende Projektionen von Grund auf neu erstellen.

Ausgezeichnete Antwort, danke! Es sieht aus wie das Lösen von θ ist der lustige Schritt und eine gute Übung für diejenigen von uns, deren grundlegende numerische Techniken ein bisschen eingerostet sind ;-) Aber ich denke, dass der richtige Weg, Bilder zu verzerren, das umgekehrte Problem ist. Für jede Pixelkoordinate im Zielbild finden Sie die beitragenden Pixel im Quellbild , um sie zu interpolieren, und zwar in dieser Richtung ( x , j ) ( λ , φ ) es gibt keine Notwendigkeit für Newtons Methode. Aber das Hinzufügen gut aussehender Anti-Aliasing-Kurven mit fester Breite würde immer noch eine Lösung erfordern θ .