Using the THREE.js "lookAt" function, I am able to align my cone with each target sphere one by one (red, green, yellow, blue).
// Setup
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);
// Execution (within the Animation loop)
myCone.lookAt(target.position);
Now, my goal is to smoothly and gradually move the cone from the previous target to the new target. To achieve this, I believe I need to calculate intermediate points along a circular arc centered at the cone's position Cxyz, extending from the old target position Pxyz to the new target position Nxyz.
I am seeking guidance on: (a) tools, (b) trigonometry formulas, or (c) code samples that can help me calculate the xyz coordinates of these intermediate points on the arc. I will provide the angle increment between points based on the desired motion speed and frame rate.