【发布时间】:2023-03-23 09:23:01
【问题描述】:
我正在尝试从 2 个轴角(以度为单位)和距离计算 XYZ 位置(对于相机)。
我尝试基于this article实现一些东西,问题是它需要之前的XYZ位置来进行计算。
例如:
function calcPositionFromOrbit(xAngle, yAngle, distance) {
// ...
}
// Front
calcPositionFromOrbit(0, 0, 100); // {x:0, y:0, z:-100}
calcPositionFromOrbit(360, 0, 100); // {x:0, y:0, z:-100}
calcPositionFromOrbit(0, 360, 100); // {x:0, y:0, z:-100}
// Above
calcPositionFromOrbit(0, 90, 100); // {x:0, y:100, z:0}
// Behind
calcPositionFromOrbit(0, 180, 100); // {x:0, y:0, z:100}
calcPositionFromOrbit(180, 0, 100); // {x:0, y:0, z:100}
// Under
calcPositionFromOrbit(0, -90, 100); // {x:0, y:-100, z:0}
calcPositionFromOrbit(0, 270, 100); // {x:0, y:-100, z:0}
// Left
calcPositionFromOrbit(90, 0, 100); // {x:100, y:0, z:0}
// Top Left
calcPositionFromOrbit(45, 45, 100); // {x:70.7..., y:70.7..., z:0}
附注我对OrbitControls'的解决方案不感兴趣。
【问题讨论】:
标签: javascript three.js