• Status: Solved
• Priority: Medium
• Security: Public
• Views: 340

# Please see my code and diagram... how do I find the coordinates of intersection of circles

Please find below the code that results in the screenshot below.
How do I get Matlab to tell me the intersections of the two circles?

``````clear % all variables
figure(1), hold off

text(0,10,'\leftarrow RX2 (x3,y3)=(0,10)','VerticalAlignment','middle','HorizontalAlignment','left')
text(0,0,'\leftarrow RX1 (x3,y3)=(0,0)','VerticalAlignment','middle','HorizontalAlignment','left')

center4=[0,0];
N4=100; % number of points (circle resolution)
hold on

center5=[0,10];
N5=100; % number of points (circle resolution)
hold on

center6=[0,0];
N6=100; % number of points (circle resolution)
hold on

center7=[0,10];
N7=100; % number of points (circle resolution)
hold on
``````
screener.jpg
0
jtiernan2008
• 4
• 3
2 Solutions

Commented:
I can see it's from your discussion here:
http://www.experts-exchange.com/Other/Math_Science/Q_24296354.html

Do you really need a code for this? Can you see the intersections by eyes?

Let me give you this code, so you can set the intersections manually so see them clearly. Paste it at the end of your drawing code. You will see a cross cursor on the figure. Click on the circles intersections you need. When you finish press Enter.
You can change line color and width as well as marker type and size as you wish.
``````[x,y]=ginput;
plot(x,y,'ro-','linewidth',2,'markersize',10)
``````
0

Commented:
OK, if you really want to do it automatically, here is another fileexchange submission you need:
http://www.mathworks.com/matlabcentral/fileexchange/11837
0

Author Commented:
thanks a million...

I dont think I am using the code correctly.

I have attached in the code box below. Can you please have a look and see what I am doing wrong?

``````clear % all variables
figure(1), hold off

text(0,10,'\leftarrow RX2 (x3,y3)=(0,10)','VerticalAlignment','middle','HorizontalAlignment','left')
text(0,0,'\leftarrow RX1 (x3,y3)=(0,0)','VerticalAlignment','middle','HorizontalAlignment','left')

center4=[0,0];
N4=100; % number of points (circle resolution)
hold on

center5=[0,10];
N5=100; % number of points (circle resolution)
hold on

center6=[0,0];
N6=100; % number of points (circle resolution)
hold on

center7=[0,10];
N7=100; % number of points (circle resolution)
hold on

[X0,Y0] = intersections(0,0,0,10,true)
``````
0

Commented:
No, X1, Y1,X2 and Y2 are not the centers of your circles. Those are vectors for X and Y data of your curves that are circles itself. You need to extract them from your circles. Here is the code for one circle.
Note as I found sometimes it actually misses an intersection when curves just touch each other.

``````H1=circle(center,radius,N);
X1=get(H1,'XData');
Y1=get(H1,'YData');
``````
0

Author Commented:
I tried as per the code box but the text is distorted and also is it possible to get the coordinates printed on the screen?
``````clear % all variables
figure(1), hold off

text(0,10,'\leftarrow RX2 (x3,y3)=(0,10)','VerticalAlignment','middle','HorizontalAlignment','left')
text(0,0,'\leftarrow RX1 (x3,y3)=(0,0)','VerticalAlignment','middle','HorizontalAlignment','left')

center4=[0,0];
N4=100; % number of points (circle resolution)
hold on

center5=[0,10];
N5=100; % number of points (circle resolution)
hold on

center6=[0,0];
N6=100; % number of points (circle resolution)
hold on

center7=[0,10];
N7=100; % number of points (circle resolution)
hold on

X1=get(H1,'XData');
Y1=get(H1,'YData');

X2=get(H2,'XData');
Y2=get(H2,'YData');

X3=get(H3,'XData');
Y3=get(H3,'YData');

X4=get(H4,'XData');
Y4=get(H4,'YData');

[X01,Y01] = intersections(X1,Y1,X2,Y2,1);
[X02,Y02] = intersections(X3,Y3,X4,Y4,1);

text(X01,Y01,'\leftarrow intersection', 'VerticalAlignment','middle','HorizontalAlignment','left')
text(X02,Y02,'\leftarrow intersection', 'VerticalAlignment','middle','HorizontalAlignment','left')
``````
0

Commented:
I think you might do a lot better with graph paper and a compass.
You should be able to see where the intersections are by eye well enough for this exercise.
You want to find enough points that you can draw the locus.  There is a predictable pattern.
The real goal is develop some intuition.  Matlab may be getting in the way.
0

Commented:
d-glitch,
You are exactly right!!! :)
I didn't want to give the answer here originally. Just for the sake of the question.

jtiernan2008,
I appreciate your points and that you are trying to study Matlab. But I think your main purpose was to understand TOA principles.
0

Author Commented:
I am trying to learn both.
thanks for your help. I need to get graph paper and get working :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.