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!