问题标题:
【外接圆matlab知道三个顶点的坐标,如何求这三个顶点组成的三角形外接圆的半径与圆心坐标?】
问题描述:
外接圆matlab
知道三个顶点的坐标,如何求这三个顶点组成的三角形外接圆的半径与圆心坐标?
樊恒海回答:
三角形外接圆圆心是三边垂直平分线的交点
任意选两边,分别就出他们垂直平分线的方程
联立成为二元一次方程组就可以了解得外心坐标了
%设三点为
A1=[x1y1];
A2=[x2y2];
A3=[x3y3];
%则A1A2的垂直平分线方程为(x1-x2)x+(y1-y2)y=[(x1^2-x2^2)+(y1^2-y^2)]/2
%A2A3的垂直平分线方程为(x2-x3)x+(y2-y3)y=[(x2^2-x3^2)+(y2^2-y3^2)]/2
%写成矩阵就是——————————————
%|(x1-x2)(y1-y2)|x[(x1^2-x2^2)+(y1^2-y2^2)]/2
%||*=
%|(x2-x3)(y2-y3)|y[(x2^2-x3^2)+(y2^2-y3^2)]/2
%——————————————
%用matlab的就可以解出来了
A=[A1-A2;A2-A3];
B=([sum(A1.^2-A2.^2);sum(A2.^2-A3.^2)])/2;
ifdet(A)~=0
O=(AB)';%O=[xy]是圆心坐标
r=sqrt(sum((O-A1).^2));%三点找一点算半径
else
error('不是三角形‘);%三点共线,不形成三角形就无解
end
查看更多