?? c2point.m
字號(hào):
%求兩個(gè)圓(圓心為x1,y1半徑為r1和圓心為x2,y2半徑為r2)的兩個(gè)交點(diǎn)(rp1x,rp1y)和(rp2x,rp2y)
%利用余弦定理
function [rp1x,rp1y,rp2x,rp2y]=c2point(x1,y1,r1,x2,y2,r2)
a=x2-x1;
b=y2-y1;
r=(a*a+b*b+r1*r1-r2*r2)/2;
if(a==0)&&(b~=0)
rp1y=r/b;
rp2y=r/b;
rp1x=sqrt(r1*r1-rp1y*rp1y);
rp2x=-rp1x;
end
if(a~=0&&b==0)
rp1x=r/a;
rp2x=r/a;
rp1y=sqrt(r1*r1-rp1x*rp2x);
rp2y=-rp1y;
end
if(a~=0&&b~=0)
delta=b*b*r*r-(a*a+b*b)*(r*r-r1*r1*a*a);
rp1y=(b*r+sqrt(delta))/(a*a+b*b);
rp2y=(b*r-sqrt(delta))/(a*a+b*b);
rp1x=(r-b*rp1y)/a;
rp2x=(r-b*rp2y)/a;
end
rp1x=x1+rp1x;
rp1y=y1+rp1y;
rp2x=x1+rp2x;
rp2y=y1+rp2y;
%ezplot('(x-x1)^2+(y-y1)^2-r1^2'); %繪制隱函數(shù)曲線(xiàn)
%hold on;
%ezplot('(x-x2)^2+(y-y2)^2-r2^2');
%調(diào)用函數(shù)c2point
%[rp1x,rp1y,rp2x,rp2y]=c2point(x1,y1,r1,x2,y2,r2);
%繪制交點(diǎn)
%plot(rp1x,rp1y,'*g');
%plot(rp2x,rp2y,'*g');
%hold off
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -