Intersection between line and circle+ values?
2 次查看(过去 30 天)
显示 更早的评论
consider a line and a circle
Given:(a,b) is the center of the circle, and (r) is the radius.
Given: (x0,y0), (xf,yf) are the start and the end point of the line.
1.Write the parametric equation of the line.
2.Write the parametric equation of the circle.
3.find the value of (t) at the intersection between the line and circle
4.Based on 3 what is the value of (x) and (y) at the intersection.
3 个评论
回答(1 个)
Roger Stafford
2015-4-27
编辑:Roger Stafford
2015-4-27
Let P1 and P2 each be two-element column vectors with the coordinates of two points on the line, let C be the column vector of the circle's center coordinates, and let r be the circle's radius. If the line and the circle do intersect, I1 and I2 below will be vectors of the two points of intersection.
A = P1-C;
B = P2-P1;
d2 = dot(B,B);
t = (r^2-dot(A,A))*d2+dot(A,B)^2;
if t < 0, error('There is no intersection.'), end
Q = P1-dot(A,B)/d2*B;
t2 = sqrt(t)/d2*B;
I1 = Q + t2;
I2 = Q - t2;
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!