i'm與three.js所JavaScript的經緯度爲XYZ地球上(threejs)
我想呈現對一個更大的領域特定的地理座標的對象,i'm相當接近的解決方案角落找尋玩,但位置我不明白,從緯度經度正確的XYZ位置
我已成立上的jsfiddle測試的情況下,有兩個座標
latlons = [[40.7142700,-74.0059700], [52.5243700,13.4105300]];
其紐約和柏林
這是我的函數從緯度經度和半徑
function calcPosFromLatLonRad(lat,lon,radius){
// Attempt1
var cosLat = Math.cos(lat * Math.PI/180.0);
var sinLat = Math.sin(lat * Math.PI/180.0);
var cosLon = Math.cos(lon * Math.PI/180.0);
var sinLon = Math.sin(lon * Math.PI/180.0);
var rad = radius;
y = rad * cosLat * sinLon;
x = rad * cosLat * cosLon;
z = rad * sinLat;
// Attempt2
// x = radius * Math.sin(lat) * Math.cos(lon)
// y = radius * Math.sin(lat) * Math.sin(lon)
// z = radius * Math.cos(lat)
// Attempt3
// latitude = lat * Math.PI/180
// longitude = lon * Math.PI/180
// x = -radius * Math.cos(latitude) * Math.cos(longitude)
// y = radius * Math.sin(latitude)
// z = radius * Math.cos(latitude) * Math.sin(longitude)
// Attempt4
// var phi = (90-lat)*(Math.PI/180);
// var theta = (lng+180)*(Math.PI/180);
// x = ((rad) * Math.sin(phi)*Math.cos(theta));
// z = ((rad) * Math.sin(phi)*Math.sin(theta));
// y = ((rad) * Math.cos(phi));
console.log([x,y,z]);
return [x,y,z];
}
calc下XYZ但所有的嘗試都返回不同的XY,而且都是不正確(z是總是正確的)。
有人請求指導我以正確的方式嗎? 我不知道什麼可能是錯誤的
繼承人的小提琴與
HMN爲什麼我唯一的傢伙在看這個? – 2015-02-06 13:44:05
你超前你的時間:) – coblr 2016-05-09 01:47:40