intersections between circles and lines

6 views (last 30 days)
gianluca scutiero
gianluca scutiero on 29 Mar 2017
Commented: KSSV on 29 Mar 2017
I have a matrix with the coordinates x,y of start of some lines and the matrix with coordinates x,y of end of each lines. I have also a vector with the centers of the circles and a vector with the radius. I would find the intersection points of these lines with circles. If a line intersects a circle, it is colored red. At the moment I wrote this code:
hold on
for i=1:3
theta = 0 : 0.01 : 2*pi;
radius = 3;
x = radius * cos(theta);
y =radius * sin(theta);
plot(x+xCenter(i), y+yCenter(i));
axis square;
grid on;
axis equal;
line(startxy,endxy)
end
For the moment I imposed a constant radius. You see a "cycle for" until 3 because I have imposed a vector with 3 rows, to try if the code works. Thanks for your help

Answers (1)

KSSV
KSSV on 29 Mar 2017
  2 Comments
gianluca scutiero
gianluca scutiero on 29 Mar 2017
I thank you for your response. The problem is that I use a function "line" that it is not supported by the function InterX
for i=1:3
t = 0:pi/200:2*pi;
r1 = 3; x1 = r1.*cos(t); y1 = r1.*sin(t);
r2 = line(startendx,startendy);
P = InterX([x1+xCenter(i);y1+yCenter(i)],[line(startendx,startendy)]);
plot(x1+xCenter(i),y1+yCenter(i),P(1,:),P(2,:),'ro')
axis equal
end
KSSV
KSSV on 29 Mar 2017
Why to use line? You have to input coordinates for the curves.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!