我有一组我要地图/项目到球的三维点(X,Y,Z)2D网格点(X,Y)的。
我知道会有向两极一些扭曲的ABS(Y)增加,但我的网格补片将只包括在赤道附近的球如此严重扭曲将避免的一部分。
我无法找到的,正确的方程。
我有一组我要地图/项目到球的三维点(X,Y,Z)2D网格点(X,Y)的。
我知道会有向两极一些扭曲的ABS(Y)增加,但我的网格补片将只包括在赤道附近的球如此严重扭曲将避免的一部分。
我无法找到的,正确的方程。
从墨卡托投影维基百科的文章转述:
Given a "mapping sphere" of radius R,
the Mercator projection (x,y) of a given latitude and longitude is:
x = R * longitude
y = R * log( tan( (latitude + pi/2)/2 ) )
and the inverse mapping of a given map location (x,y) is:
longitude = x / R
latitude = 2 * atan(exp(y/R)) - pi/2
为了从逆映射的结果,3D坐标:
Given longitude and latitude on a sphere of radius S,
the 3D coordinates P = (P.x, P.y, P.z) are:
P.x = S * cos(latitude) * cos(longitude)
P.y = S * cos(latitude) * sin(longitude)
P.z = S * sin(latitude)
(请注意,“地图半径”和“3D半径”将几乎肯定有不同的价值观,所以我使用了不同的变量名。)
我想,你的(X,Y)的球体是纬度,经度。
如果是这样,看到http://tutorial.math.lamar.edu/Classes/CalcII/SphericalCoords.aspx 。
那里:
披= 90度 - 纬度
THETA =经度
RHO =你的球的半径。
我希望,你可以使用任何一种地球投影的倒数。
相对于其他预测墨卡托是在赤道附近还不错。
公式是wiki页面上。
http://en.wikipedia.org/wiki/Mercator_projection