wie 2d-Karte Gitterpunkte (x,y) auf die Kugel als 3d-Punkte (x,y,z)
Habe ich eine Reihe von 2d-raster Punkte (x,y), die will ich anzeigen/das Projekt auf einer Kugel als 3d-Punkte (x,y,z).
Ich merke es wird etwas verziehen den Polen, wie abs(y) erhöht, aber meine grid-patch wird nur für einen Teil der Sphäre in der Nähe des äquators so schweren Verwerfungen vermieden werden.
Ich habe Probleme beim finden der richtigen Gleichungen für die.
- Ich bin mir nicht sicher, was Sie Fragen hier...Was machen die 2D -
x
undy
darstellen? Sind Sie Längen - /Breitengrad, oder Koordinaten auf einige flache, rechteckige Projektion der Kugel? Im letzten Fall, welche Projektion verwendest du?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Paraphrasiert aus dem wikipedia-Artikel über die Mercator-Projektion:
Um die 3D-Koordinaten aus dem Ergebnis der inversen Abbildung:
(Beachten Sie, dass die "anzeigen " radius" und der "3D-radius" wird fast sicher haben unterschiedliche Werte, so habe ich es mit verschiedenen Variablen-Namen.)
tan((latitude + pi/2)/2)
ist -0.0970531183, und die Durchführung der log auf, dass der Wert wirft "math domain error", da der Wert negativ ist. Was mache ich falsch?pi/2
. Dies wird zu konvertieren Bereich+/- 90 degrees
zu einer Reihe von+/- pi/2 radians
, die nicht über den Funktionsumfang, es sei denn, Sie sind an den Polen (in dem Fall die Mercator-Projektion ist singular wie auch immer...)atan2(z, sqrt(x*x+y*y))
, und Länge istatan2(y,x)
. Diese beiden Rendite Bogenmaß, die verwendet werden können, direkt in das inverse mapping, aber die müssen bekehrt werden, Grad wenn es das ist, was Sie wollen, statt.Nehme ich an, dass Ihr (x,y) auf der Kugel sind, Breitengrad, Längengrad.
Wenn das so ist, sehen http://tutorial.math.lamar.edu/Classes/CalcII/SphericalCoords.aspx.
Dort:
phi = 90 ° - Breitengrad
theta = Länge
rho = radius der Kugel.
Ich würde erwarten, dass Sie verwenden konnten, die inverse einer beliebigen Zahl von Globus Projektionen.
Mercator ist ziemlich gut um den äquator im Vergleich zu anderen Projektionen.
Formeln auf der wiki-Seite.
http://en.wikipedia.org/wiki/Mercator_projection