Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

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?

Thanks in advance!

share|improve this question
2  
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
1  
@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

2 Answers 2

up vote 3 down vote accepted

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}$

share|improve this answer
    
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)));
}
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.