intersections between circles and lines

6 Ansichten (letzte 30 Tage)
gianluca scutiero
gianluca scutiero am 29 Mär. 2017
Kommentiert: KSSV am 29 Mär. 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

Antworten (1)

KSSV
KSSV am 29 Mär. 2017
  2 Kommentare
gianluca scutiero
gianluca scutiero am 29 Mär. 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 am 29 Mär. 2017
Why to use line? You have to input coordinates for the curves.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by