Intersection between line and circle
10 次查看(过去 30 天)
显示 更早的评论

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 个评论
采纳的回答
Image Analyst
2014-7-27
编辑:Image Analyst
2014-7-27
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 个评论
Image Analyst
2014-7-27
编辑:Image Analyst
2014-7-27
I will add it to the Products list for you. Does that give the 0, 1, or 2 intersection points?
更多回答(1 个)
Matt J
2014-7-27
编辑:Matt J
2014-7-27
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!