Intersection between line and circle
6 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Image Analyst
on 27 Jul 2014
Edited: Image Analyst
on 27 Jul 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 Comments
Image Analyst
on 27 Jul 2014
Edited: Image Analyst
on 27 Jul 2014
I will add it to the Products list for you. Does that give the 0, 1, or 2 intersection points?
More Answers (1)
Matt J
on 27 Jul 2014
Edited: Matt J
on 27 Jul 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.
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!