%%求圆心坐标
%%
A=input('输入起点坐标(输入格式为[x1,y1]):\n ');
B=input('输入圆弧上一点坐标(输入格式为[x2,y2]):\n ');
C=input('输入终点坐标(输入格式为[x3,y3]):\n ');
syms x y
x1=A(1,1);
y1=A(1,2);
x2=B(1,1);
y2=B(1,2);
x3=C(1,1);
y3=C(1,2);
x=[x1,x2,x3];
y=[y1,y2,y3];
a1=(x1+x2)/2;
b1=(y1+y2)/2;
a2=(x2+x3)/2;
b2=(y2+y3)/2;
if x1~=x2&&x2~=x3
k1=(y1-y2)/(x1-x2); %A,B两点的斜率
k2=(y2-y3)/(x2-x3); %B,C两点的斜率
s=solve(y-b1==-(x-a1)/k1,y-b2==-(x-a2)/k2,x,y); %求解两相交的中垂线方程
X=double(s.x);
Y=double(s.y);
elseif x1==x2&&y1~=y2&&x2~=x3
k2=(y2-y3)/(x2-x3); %B,C两点的斜率
Y=b1;
X=a2-k2*(b1-b2);
elseif x1~=x2&&x2==x3&&y2~=y3
k1=(y1-y2)/(x1-x2); %A,B两点的斜率
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载