# Calculating a Point that lies on an Ellipse given an Angle

I need to find a point (A on this diagram) given the center point of the ellipse as well as an angle. I've been melting my brain all day (as well as searching through questions here) testing out different equations. What's the best way to do this?

I intend to grab point A at $225^o$ as well as another point at approximately $250^o$ using the same math. These need to be fetched regardless of elliptic width and height.

-

If the ellipse is centered at the origin, the equation of the ellipse is $\frac{x^2}{a^2}+\frac{y^2}{b^2}=1$. The equation of the line is $y=x\tan \theta$ So you have $\frac{x^2}{a^2}+\frac{(x\tan \theta )^2}{b^2}=1$ or $x=\pm \frac{ab}{\sqrt{b^2+a^2(\tan \theta)^2}}$ where the sign is + if $-\pi/2 \lt \theta \lt \pi/2$

-
Well, this is embarrassing. The code I was working with already fetches the exact same value this does. I was sure my math was wrong. It looks like I'll have to figure out how to handle this data in Flash given its wonky co-ordinate system. Regardless, thanks for the quick answer. – null Feb 14 '11 at 23:53
Similarly for y: $y=\pm \frac{ab}{\sqrt{a^2+\frac{b^2}{(\tan \theta)^2}}}$ – Charles L. Jul 25 '14 at 0:25
@CharlesL. : why would you get y like that instead of simply $y=\sqrt{ 1-(x/a)^2 } * b$ if you have x already? – B M Oct 16 '15 at 14:17

You can also use parametric equations:

$$x=a\cos(\theta)$$ $$y=b\sin(\theta)$$

Where $a$ is the radius on the horizontal axis, and $b$ is the radius on the vertical axis.

-
In this parametrization, $\theta$ is not the angle of the post, for example for $\theta=225$ of the diagram the corresponding point on the ellipse is not given by your formulas. – coffeemath May 19 '13 at 17:28
@coffeemath Why wouldn't $x = a\cos(225°)$ and $y=b\sin(225°)$ work? – Ataraxia May 19 '13 at 17:33
@Zettasurro -- those equations will give you a point on the ellipse. But the polar angle of this point will not be 225 degrees. – bubba May 19 '13 at 23:28
@Zettasurro The angle from the point you mention in your comment would have tangent equal to $(b/a)\tan(225)$, and so would not be 225 degrees unless $a=b$ (the ellipse is a circle). – coffeemath May 20 '13 at 1:05
@coffeemath Why is that a problem? Since it's not a circle, doesn't it make sense for the slope of the tangent not to equal $\tan(225)$? – Ataraxia May 20 '13 at 1:11

If the ellipse is centered at $(0,0)$, $2a$ wide in the $x$-direction, $2b$ tall in the $y$-direction, and the angle you want is $\theta$ from the positive $x$-axis, the coordinates of the point of intersection are $$\left(\frac{a b}{\sqrt{b^2+a^2\tan^2(\theta)}},\frac{a b \tan(\theta)}{\sqrt{b^2 + a^2\tan^2(\theta)}}\right) \text{ if }0\le\theta< 90°\text{ or }270°<\theta\le360°$$ or $$\left(-\frac{a b}{\sqrt{b^2+a^2\tan^2(\theta)}},-\frac{a b \tan(\theta)}{\sqrt{b^2 + a^2\tan^2(\theta)}}\right) \text{ if }90°<\theta< 270°.$$

-
Doesn't $\tan$ become negative for $\theta \gt 90^{\circ}$ so the signs are flipped over $90^{\circ}$ to $270^{\circ}$ – Ross Millikan Feb 14 '11 at 23:36
@Ross: I think I've got the signs and ranges right now (perhaps you were looking at my initial post with incorrect ranges). For example, between 90° and 180°, using the second formula and tangent is negative, the $x$-coordinate is negative and the $y$ coordinate is positive (opposite of the negative tangent), which is correct for angles between 90° and 180°. – Isaac Feb 14 '11 at 23:43
Looks good to me – Ross Millikan Feb 15 '11 at 1:20

I've been working on this one for a while now because I was trying to test a coordinate for overlap with an ellipse, and I came up with something much easier to find the point on an ellipse given an angle from the center. If you use a general first degree equation for the line and substitute into the equation for an ellipse then you can solve for x and y (the points where the line intercepts the ellipse).

To find the general first degree equation of a line, you can use this formula : $$(y_1 - y_2)*x + (x_2 - x_1)*y + (x_1*y_2 - x_2*y_1) = 0$$

Since the ellipse is centered on the origin and the line passes through it as well, you can simplify the equation for the line by substituting $x_1 = 0$ and $y_1 = 0$ and you come up with : $$-y_2*x + x_2*y = 0$$

Solve for x and y and you get $$x = \frac{x_2*y}{y_2} , y = \frac{y_2*x}{x_2}$$

Next use the equation for an ellipse $$\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$$ and substitute in x and y and solve for $y^2$ and $x^2$ respectively. You come up with these two equations : $$y^2 = \frac{a^2*b^2*y_2^2}{(b^2*x_2^2 + a^2*y_2^2)} , x^2 = \frac{a^2*b^2*x_2^2}{b^2*x_2^2 + a^2*y_2^2}$$ If you know the point on the line you can substitute in $x_2$ and $y_2$, but since all we have is an angle, we'll have to re-derive our line equation. It's not hard though. To find the x and y coordinates of a point using a radius (which we won't need) and an angle, you just use a little trigonometry. The x value of the triangle is $r*\cos{\theta}$ and the y value is $r*\sin{\theta}$. Substitute these in for $x_2$ and $y_2$ above and you get $-r\sin{\theta}*x + r\cos{\theta}*y = 0$. Notice you can divide by the radius now to remove it from the equation, leaving us with $-\sin{\theta}*x + \cos{\theta}*y = 0$. Re-substitute into the earlier equation and you get $y = \sin{\theta}$ and $x = \cos{\theta}$. Substitute these into the equations for $y^2$ and $x^2$ and you come up with the following equations. $$y = \pm\frac{ab\sin{\theta}}{\sqrt{(b\cos{\theta})^2 + (a\sin{\theta})^2}} , x = \pm\frac{ab\cos{\theta}}{\sqrt{(b\cos{\theta})^2 + (a\sin{\theta})^2}}$$

You now know another formula to find the coordinates of a point on an ellipse given only an angle from the center, or to determine whether a point is inside an ellipse or not by comparing radii. ;)

-

The equation of an ellipse in its origin centered form is:

$(\frac{cos \theta} {a})^2 + (\frac{sin \theta} {b})^2=(\frac{1}{ r})^2$.

Hope you take it from there.

-