【发布时间】:2016-04-02 14:10:25
【问题描述】:
尝试将经纬度坐标映射到 3d 球体上。
我尝试了来自互联网的三组不同的方程式,但没有一个有效。有谁知道怎么做。
这些是我试过的,但没有用。
var phi = (90-lat)*(Math.PI/180),
theta = (lon+180)*(Math.PI/180),
x = -((radius) * Math.sin(phi)*Math.cos(theta)),
z = ((radius) * Math.sin(phi)*Math.sin(theta)),
y = ((radius) * Math.cos(phi));
return new THREE.Vector3(x,y,z);
var height = 600;
var phi = (lat)*Math.PI/180;
var theta = (lon-180)*Math.PI/180;
var x = -(radius+height) * Math.cos(phi) * Math.cos(theta);
var y = (radius+height) * Math.sin(phi);
var z = (radius+height) * Math.cos(phi) * Math.sin(theta);
return new THREE.Vector3(x,y,z);
var x = Math.cos(lon) * Math.sin(lat),
y = Math.sin(lon) * Math.sin(lat),
z = Math.cos(lat);
return new THREE.Vector3(x,y,z);
【问题讨论】:
标签: 3d three.js coordinates