MATLAB新手,最近要写一个程序,参考了多个百度的结果以及https://blog.csdn.net/libing403/article/details/78234640?utm_source=blogxgwz6这篇文章提供的方法,自己想了一个办法,目前测试过的点都成功了,所以想给大家分享一下。欢迎大家指出错误和不足(๑╹◡╹)ノ"""。
%判断是圆还是圆弧
if get(handles.rad_round_1,'value')
round_flag=1;
elseif get(handles.rad_round_2,'value')
round_flag=2;
else
warndlg('请选择圆或圆弧^-^','提示','modal')
end
%输入三个点的坐标
%%获取三点所在圆圆心及半径
x0=[x1 x2 x3]';
y0=[y1 y2 y3]';
TR=triangulation([1,2,3],x0,y0); %表示成三角网格
[D,r]=circumcenter(TR); %利用内置函数求外接圆心和半径
a=D(1);b=D(2); %圆心(a,b) 半径 r
%开始生成
switch(round_flag)
case 1 %根据圆心半径生成圆
deg=0:0.01:360;
rx=a+r*cos(deg);
ry=b+r*sin(deg);
plot(a,b,