I would like to find a algorithm for determining the $(x,y,z)$ co-ordinates for evenly distributed $N$ points on the surface of an ellipsoid. These points must be spaced from its nearest neighbour along a constant arc length $d$ on the surface of the ellipsoid, where $N$ is large, if this is indeed possible.
I was able to solve this problem for the 2-Dimensional situation. But I am having a lot of difficulty generalising this to 3-Dimensions.
2-D:
Problem: Find the $(x,y)$ co-ordinates of $N$ points on an ellipse $$\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$$ that are equally spaced from its neighbour along the arc of the ellipse by a constant arc length $d$.
I was able to get an exact solution by the following method.
A. As the ellipse is symmetric, consider only one quarter of the perimeter of the ellipse from $(a,0)$ through to $(0,b)$. Divide one quarter of the perimeter of the ellipse between $(a,0)$ through to $(0,b)$ into $N$ equal segments. Due to the symmetrical properties of the ellipse the other quarters can be easily worked out.
The length of the arc length segments d is determined according to the following formulae: $$d = \frac{aE\left(\frac \pi 2, k\right)}{N},$$ where $E(\pi/2,k)$ is the complete elliptic integral of the second kind; where $N$ is an integer greater than or equal to two. Note. the circumference of the ellipse is $C = 4aE( \pi/2, k)$.
$k$ is the modulus, $\sqrt{ 1 - (b/a)^2 }$.
B. Perform the following for the ith arc segment from i =0 through to i =N-1.
s= d*i/a
theta = InvE[ s ,k]
where InvE[s,k] is the inverse of the incomplete elliptic integral of the second kind E[theta,k].
Then calculate the (x,y) co-ordinates on the ellipse for this angle theta
x = sin(theta)
y= b/a*sqrt( a^2- x^2)
C. There are a number of routines for determining the complete and incomplete elliptic integrals of the second kind published on the web. The inverse of the incomplete elliptic integral of the second kind is based on an algorithm published by Boyd. 2012. Note. InvE[s,k] has the property such that
s- E[ InvE[s,k] ,k] = 0
D. Using this algorithm I was able to find N points equally spaced on an ellipse.
However, I am having BIG problems generalising this to a 3-D case. One idea is to divide up the ellipsoid into N parallel “rings” of circles or ellipses that are equally spaced along the surface ellipsoid by arc length d using the above method. But when I perform the same routine around the rings. I think I will get the situation while the points of each ring will be equally spaced by a constant d, they will not be necessarily equally spaced with points on its adjoining ring. This becomes apparent when you consider the number of points on each ring will be different.
Any suggestions and ideas would be welcome.
Paul