# How to get the (X,Y) point with a given angle?

To be more exact.. If i have an angle of 1.42 radians or 81 degrees, with the radius of an ellipse: x = 300 and y = 75.

What is the X-Y point for that angle and how would I get that?

-
What do you mean by "radius x" and "radius y"? What do you mean by the coordinate for an angle? Please clarify what it is you mean and what you're trying to find. –  Clive Newstead Jan 5 '12 at 21:01
@Nutri I'm sorry but your question has confusing terminology. Do you mean an arc in a circle? –  user2468 Jan 5 '12 at 21:04
Sorry, math is obviously not my thing. Coordinate as in the X,Y point. and Arc of an ellipse. I hope that makes things clearer. –  Nutri Jan 5 '12 at 21:08

Here is the equation for the distance to the ellipse given the axis-aligned radii and given the angle. Then from the angle and distance you can get the x and y coordinates.

Edit: If I did it right this should give something like x = 11.388023684 , y = 74.945944235 . This answer seems reasonable because 1.42 radians is somewhat near $\pi / 2$ .

Edit: Here are more details that you requested in your comment.

$a = 300$

$b = 75$

$\theta = 1.42$

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

$x = r \cos{\theta}$

$y = r \sin{\theta}$

-
You are awesome my friend! –  Nutri Jan 5 '12 at 21:44

I wrote a C# code for your problem and I hope you can find it helpful. the distance function inside this code calculates euclidean distance between two points in space. wX denotes horizontal radios of ellipse and wY denotes vertical radios.

private PointF LineIntersectEllipse(PointF A, PointF B, float wX, float wY)
{
double dx = B.X - A.X;
double dy = B.Y - A.Y;
double theta = Math.Atan2(dy, dx);
double r = distance(A, B) - ((wX * wY) / Math.Sqrt(Math.Pow(wY * Math.Cos(theta), 2) + Math.Pow(wX * Math.Sin(theta), 2)));
return PointF((float)(A.X + r * Math.Cos(theta)), (float)(A.Y + r * Math.Sin(theta)));
}

-