Let me define an ellipse function as follows: Assuming $a \ge b$, $$ f(x,y) = \frac{(x-x_0)^2}{a^2} + \frac{(y-y_0)^2}{b^2} = 1,$$ where $(x_0,y_0)$ is the origin of the ellipse, and $a$ and $b$ are the maximum length of the radius on the major and minor axes, respectively.

Then, starting from a point $\mathbf{x} :=(x,y)$ such that $f(\mathbf{x}) = f(x,y) = 1$, I want to find $\mathbf{x'} := (x', y')$ such that

  • $f(\mathbf{x'}) = f(x',y') = 1$ and
  • The length of the arc of the ellipse from $\mathbf{x}$ to $\mathbf{x}'$ is a specific given vale $C$, i.e., $d(\mathbf{x}, \mathbf{x'}) = C$, where $d(\mathbf{x}, \mathbf{x'})$ represents the length of the arc of the ellipse from $\mathbf{x}$ to $\mathbf{x}'$.

If $a = b$, I can get $\mathbf{x'}$ easily using the rotation matrix, i.e., $$ \mathbf{x'} = \begin{bmatrix} \cos\left(\frac{d}{a}\right) & -\sin\left(\frac{d}{a}\right) \\ \sin\left(\frac{d}{a}\right) & \cos\left(\frac{d}{a}\right) \end{bmatrix}\left(\mathbf{x}-\begin{bmatrix}x_0\\y_0\end{bmatrix}\right) + \begin{bmatrix}x_0\\y_0\end{bmatrix} $$

Is there any method to get the point after having movement by length $d$ from a point, when $a \ne b$?

  • 1
    $\begingroup$ The arc length of an ellipse involves an "elliptic integral," which cannot be solved in closed form, so anything you do will have to involve numeric approximation of the integral. $\endgroup$ – kccu Apr 17 at 3:12
  • $\begingroup$ @kccu Ah.... That news makes me frustrated.... but thanks for your comments. $\endgroup$ – Danny_Kim Apr 17 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.