Three.js数学转换

Three.js Maths conversion

本文关键字:转换 js Three      更新时间:2023-09-26

由于数学不太好,我正在努力解决这个问题。

我已经将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);

谁能告诉我如何扭转这一点,即将矢量转换为纬度/经度?

像这样

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

建议:

查看维基百科上的这些函数,我相信这个图会很有意义。