matlab 外接圆,【外接圆matlab知道三个顶点的坐标,如何求这三个顶点组成的三角形外接圆的半径与圆心坐标?】作业帮...

三角形外接圆圆心是三边垂直平分线的交点

任意选两边,分别就出他们垂直平分线的方程

联立成为二元一次方程组就可以了解得外心坐标了

%设三点为

A1=[x1 y1];

A2=[x2 y2];

A3=[x3 y3];

%则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;

if det(A)~=0

O=(A\B)';%O=[x y]是圆心坐标

r=sqrt(sum((O-A1).^2));%三点找一点算半径

else

error('不是三角形‘);%三点共线,不形成三角形就无解

end

作业帮用户

2017-10-09

举报

6c0a0adef10d1043fa4f41a7897345ed.png

你可能感兴趣的:(matlab,外接圆)