Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 3.js数学转换_Javascript_Math_Three.js - Fatal编程技术网

Javascript 3.js数学转换

Javascript 3.js数学转换,javascript,math,three.js,Javascript,Math,Three.js,我的数学不是很好,我正在努力解决这个问题 我已经将lat/lon转换为目标: lat = Math.max(-85, Math.min(85, lat)); phi = THREE.Math.degToRad(90 - lat); theta = THREE.Math.degToRad(lon); target.x = 512 * Math.sin(phi) * Math.cos(theta); target.y = 512 * Math.cos(phi

我的数学不是很好,我正在努力解决这个问题

我已经将lat/lon转换为目标:

    lat = Math.max(-85, Math.min(85, lat));
    phi = THREE.Math.degToRad(90 - lat);
    theta = THREE.Math.degToRad(lon);

    target.x = 512 * Math.sin(phi) * Math.cos(theta);
    target.y = 512 * Math.cos(phi);
    target.z = 512 * Math.sin(phi) * Math.sin(theta);
有谁能告诉我如何将其反转,即将向量转换为lat/lon

像这样的

var lat = Math.atan2( Math.sqrt( target.x*target.x + target.z*target.z) , target.y) ;
var lon = Math.atan2( target.x, target.y);
建议:

查看wikipedia中的这些函数,我相信这个图表会非常有意义