3D ポイント (x,y,z) として球体にマップ/投影したい 2D グリッド ポイント (x,y) のセットがあります。
abs(y) が増加すると、極に向かっていくらかワープすることはわかっていますが、グリッド パッチは赤道近くの球の一部のみをカバーするため、深刻なワーピングは回避されます。
そのための正しい方程式を見つけるのに苦労しています。
3D ポイント (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 度 - 緯度
シータ = 経度
rho = 球の半径。
私はあなたが地球の投影の数のいずれかの逆を使用できることを期待します。
メルカトル図法は、他の投影法と比較して、赤道周辺でかなり優れています。
数式はwikiページにあります。
http://en.wikipedia.org/wiki/Mercator_projection