comment carte 2d de la grille de points (x,y) sur la sphère en 3d de points (x,y,z)
J'ai un ensemble de la grille 2d des points (x,y) que je veux de la carte/du projet sur une sphère en 3d de points (x,y,z).
Je me rends compte qu'il y aura quelque déformation vers les pôles de l'abs(y) augmente, mais ma grille de patch de ne couvrir qu'une partie de la sphère près de l'équateur si grave déformation sera évité.
Je vais avoir de la difficulté à trouver les bonnes équations.
Je ne suis pas sûr de ce que vous demandez ici...Que faire de la 2D
x
et y
représenter? Sont-ils latitude/longitude, ou coordonnées sur le plat rectangulaire de projection de la sphère? Dans le dernier cas, que la projection utilisez-vous?OriginalL'auteur milkplus | 2012-10-04
Vous devez vous connecter pour publier un commentaire.
Reformulation de l'article de wikipédia sur la projection de Mercator:
Pour obtenir les coordonnées 3D de la suite de la correspondance inverse:
(À noter que la carte "rayon" et le "3D rayon" sera presque certainement avoir des valeurs différentes, donc j'ai utilisé différents noms de variable.)
tan((latitude + pi/2)/2)
est -0.0970531183, et en effectuant des journaux sur cette valeur jette une des mathématiques "erreur de domaine" puisque la valeur est négative. Ce que je fais mal?Vous avez besoin de convertir votre latitude de degrés en radians, avant d'ajouter
pi/2
. Cela vous permettra de transformer la gamme+/- 90 degrees
à une gamme de+/- pi/2 radians
, qui n'aura pas de dépassement de la portée de la fonction, sauf si vous êtes dans les pôles (dans ce cas, la projection de Mercator est singulier de toute façon...)Savez-vous comment obtenir la latitude et la longitude à partir de x, y et z?
La Latitude est
atan2(z, sqrt(x*x+y*y))
, et de longitude estatan2(y,x)
. Ces deux rendements radians, qui peut être utilisé directement dans la correspondance inverse, mais qui doit être convertie en degrés, si c'est ce que vous voulez à la place.OriginalL'auteur comingstorm
Je m'attends à ce que vous pourriez utiliser à l'inverse de l'un quelconque d'un certain nombre de globe projections.
Mercator est assez bon autour de l'équateur par rapport à d'autres projections.
Formules sont sur la page du wiki.
http://en.wikipedia.org/wiki/Mercator_projection
Ah, la réelle formule. C'est un non-trivial opération mathématique, et vous pourriez avoir plus de chance sur math.stackexchange.com. Une fois que vous obtenez la formule, vous pouvez revenir ici pour faciliter la programmation. Aussi, wiki.openstreetmap.org/wiki/Mercator
OriginalL'auteur kreativitea
Je suppose que votre (x,y) sur la sphère sont la latitude, la longitude.
Si oui, voir http://tutorial.math.lamar.edu/Classes/CalcII/SphericalCoords.aspx.
:
phi = 90 degrés de latitude
theta = longitude
rho = rayon de la sphère.
OriginalL'auteur farfareast