i'm играет Arround с three.jsJavascript Широта Долгота в хуг положения на земле (threejs)
я хочу, чтобы сделать объекты по конкретному geocoordinates на большую сфере, i'm довольно близко к решению, но я не получаю правильное положение АБВ от Lat Lon
я создали тестовый случай на jsfiddle, есть две координаты
latlons = [[40.7142700,-74.0059700], [52.5243700,13.4105300]];
его Нью-Йорк и Берлин
, и это моя функция известково хуга от Lat Lon и радиуса
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];
}
но все попытки вернуть другой х, и все они не правильно (г всегда правильно).
Может ли кто-нибудь мольбы направлять меня на правильный путь? я понятия не имею, что может быть неправильно
Хереса скрипки играть с
¯hmn Почему я единственный парень, глядя на это? –
вы впереди своего времени :) – coblr