Calculate point in ellipse given a unit vector

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 5K views
mariano_donat
Messages
8
Reaction score
0
Hi to everyone.

I'm detecting collision between two ellipses. I've got my unit vector, my ellipse center and radius (horizontal and vertical). I want to calculate the point that lies in the ellipse on the direction of the unit vector. See the image attached. Suppose the red arrow is my unit vector and I want to get the coordinates of the green colored point. I'm just multiplying my unit vector times my radius plus the center of the ellipse. The formula looks like this:

Code:
//Assume unit vector has been already calculated at this stage, ellipseCenter and ellipseRadius has been given
Vector pointInEllipse = VectorMake(unitVector.x * ellipseRadius.x + ellipseCenter.x, unitVector.y * ellipseRadius.y + ellipseCenter.y);

The point I get using the above formula lies on the ellipse, but it's translated on both axis a little bit, translated enough to detect collisions when haven't occurred any.
What am I missing here?

Thank you very much in advance.
 

Attachments

  • pointinellipse.png
    pointinellipse.png
    1.2 KB · Views: 617
Mathematics news on Phys.org
I apologize for that, it's a and b from that equation, ellipseRadius.x = a and ellipseRadius.y = b.
 
I have trouble deciphering your syntax in that programming language. But if you have a unit vector you have the slope m. Assuming the picture is translated to the origin, why not just solve y = mx with the equation of the ellipse? A quick calculation seems to show you just need to calculate something like

[tex]x=\pm\frac{ab}{\sqrt{m^2+b^2}}[/tex]