我可以使用THREE.js的“lookAt”函数,使我的圆锥依次指向每个目标球(红色、绿色、黄色、蓝色)。
// Initialisation
c_geometry = new THREE.CylinderGeometry(3, 40, 120, 40, 10, false);
c_geometry.applyMatrix( new THREE.Matrix4().makeRotationX( Math.PI / 2 ) );
c_material = new THREE.MeshNormalMaterial()
myCone = new THREE.Mesh(c_geometry, c_material);
scene.add(myCone);
// Application (within the Animation loop)
myCone.lookAt(target.position);
现在我希望圆锥体可以平稳缓慢地从旧目标滑动到新目标。 我猜我可以通过计算围绕圆锥体中心Cxyz的圆弧上的中间点来实现,该圆弧通过以前的目标位置Pxyz并经过新的目标位置Nxyz。
请问是否有合适的(a) 实用程序、(b) 三角学算法或 (c) 代码示例可用于计算这种弧线上中间点的xyz坐标?(我将根据所需扫描率和帧之间的时间间隔提供点之间的角度增量)。