用
MATLAB
画三角形的外接圆
clear
all
;close
all
; clc;
%1.
画三角形
:
随机产生三个顶点坐标,将各顶点连接。
a=[x1,y1;x2,y2;x3,y3]
a=rand(3,2);
hold
on
;
for
i=1:3
line([a(1,1),a(2,1)],[a(1,2),a(2,2)]);
line([a(1,1),a(3,1)],[a(1,2),a(3,2)]);
line([a(2,1),a(3,1)],[a(2,2),a(3,2)]);
end
%2.
找出外接圆的圆心:求出两条边的垂直平分线的交点,即所求的外接圆圆心。
cent1=(a(1,:)+a(2,:))/2;
cent2=(a(2,:)+a(3,:))/2;
k1=-1/((a(1,2)-a(2,2))/(a(1,1)-a(2,1)));
k2=-1/((a(2,2)-a(3,2))/(a(2,1)-a(3,1)));
b1=cent1(2)-k1*cent1(1);
b2=cent2(2)-k2*cent2(1);
x0=-(b1-b2)/(k1-k2);
y0=(b2*k1-b1*k2)/(k1-k2);
%3.
画出外接圆
:
求出外接圆的半径,画圆
r=sqrt((a(1,1)-x0)^2+(a(1,2)-y0)^2);
rectangle(
'Position'
,[x0-r,y0-r,2*r,2*r],
'Curvature'
,[1,1]);axis
equal
;
产生结果如下图所示: