# ellipse uniform perimeter travel?

I'm trying to come up with a way that as I progress linearly from $0$ to $360$ degrees or $0$ to $2\pi$ radians I have the the corresponding position (P) on the perimeter of an ellipse to also travel on it at a linear speed movement.

Thanks

• Do you want to progress at a linear angular speed, or a linear speed. You can't have it both ways. – Doug M Nov 24 '16 at 2:56
• Linear speed along the perimeter.Having that solved I can probably remap the angle from 0-360 to the parameter range. – probiner Nov 24 '16 at 4:17
• – Hans Lundmark Nov 24 '16 at 8:05
• @HansLundmark I was looking for Arc Length driving the Angle. I don't know what is to integrate something... ergh.. – probiner Nov 24 '16 at 11:30

Suppose the ellipse is parameterized by $x = a\cos\theta$, $y = b\sin\theta$ for $\theta\in[0,2\pi)$. Without restricting generality assume that $b$ is the length of the semi-major axis, i.e., $b > a$. Then the arc length of the portion of the ellipse corresponding to $\theta\in [0,\alpha]$ is given by
$$bE(\alpha,k) =b\int_0^\alpha \sqrt{1 - k^2\sin^2\theta}\,d\theta,$$
where $k = \sqrt{1 - (a/b)^2}$ and $E(\alpha,k)$ is the incomplete elliptic integral of the second kind. Let $A = bE(2\pi,k)$ be the circumference of the ellipse. If I understand your question properly, then given a sequence of equally spaced points $t_i = Ai/N$ for $i = 0,\ldots,N-1$ you want the corresponding values of $\theta_i$ such that $$bE(\theta_i,k) = t_i,\quad i = 0,\ldots,N-1.$$ This can be accomplished by numerically inverting the function $E$ for each $t_i/b$ with the restriction that $\theta_i\in[0,2\pi)$. Note that since $E(\alpha,k)$ is strictly increasing, it has an inverse on $[0,\infty)$. If you are interested, I can provide some Octave (Matlab) code to compute the values of $\theta_i$.