I have a - what I though - very basic math question. Still I can’t figure it out:
Given is an arch along the surface of a sphere, running from north to south.
I want to split this arch into x equally long segments.
Currently I tried to split it into three segments, hardcoded:
const controlPoints = [
new THREE.Vector3(0, 5, 0), // North Pole
new THREE.Vector3(5 * Math.sin(Math.PI / 4), 5 * Math.cos(Math.PI / 4), 0), // Midpoint 1 on the surface
new THREE.Vector3(5 * Math.sin(Math.PI / 4), -5 * Math.cos(Math.PI / 4), 0), // Midpoint 2 on the surface
new THREE.Vector3(0, -5, 0) // South Pole
];
The segments are not the same size, the segment in the middle is about twice as long as the first and last segment:
What am I missing?
How could I make that work dynamically, so that I can enter the amount of segments / midpoints?
Thanks a lot!