Intersection between line and circle

11 vues (au cours des 30 derniers jours)
Selva
Selva le 27 Juil 2014
Modifié(e) : Image Analyst le 21 Août 2014
Please check the image above
I need to find the intersection point of the line with the circle 3 and circle 4.
If I use linecirc() command, i get the values of circle 1 also.
Is there any other command to get the required values ?
Thanks in advance

Réponse acceptée

Image Analyst
Image Analyst le 27 Juil 2014
Modifié(e) : Image Analyst le 27 Juil 2014
Each circle with have either 0, 1, or 2 intersection points. Do you have the formula for each circle, meaning it's center coordinates and radius ? If seems like knowing the formulas for the lines you might be able to use fzero() to find the intersection point(s).
By the way, what toolbox is linecirc() in? I don't have it.
  3 commentaires
Image Analyst
Image Analyst le 27 Juil 2014
Modifié(e) : Image Analyst le 27 Juil 2014
I will add it to the Products list for you. Does that give the 0, 1, or 2 intersection points?
Selva
Selva le 21 Août 2014
Modifié(e) : Image Analyst le 21 Août 2014
2 intersection points if it cuts the circle
2 same points if its a tangent
Nan if its does not intersect with the circle

Connectez-vous pour commenter.

Plus de réponses (1)

Matt J
Matt J le 27 Juil 2014
Modifié(e) : Matt J le 27 Juil 2014
Find all points of intersection and write each in the form
P_intersection = P1+t*(P2-P1)
where t is a scalar parameter. Solve for each t by doing
t = (P2-P1)\(P_intersection-P1)
Then discard all intersections other than the ones for which 0<=t<=1. The intersections that remain will all lie on the line segment between P1 and P2.

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by