Intersection between line and circle+ values?

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 个评论

its not a homework I've done the first two but I don't understand part 3 and 4
This is a forum about programming with matlab.
How is this matlab-related?

请先登录,再进行评论。

回答(1 个)

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;

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by