外接圆 matlab
3个回答
展开全部
三角形外接圆圆心是三边垂直平分线的交点
任意选两边,分别就出他们垂直平分线的方程
联立成为二元一次方程组就可以了解得外心坐标了
%设三点为
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
任意选两边,分别就出他们垂直平分线的方程
联立成为二元一次方程组就可以了解得外心坐标了
%设三点为
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
展开全部
设圆心坐标(a,b),半径为r
那么圆方程为:(x-a)²+(y-b)²=r²
代入三个顶点的坐标,求出三角形外接圆的半径与圆心坐标
那么圆方程为:(x-a)²+(y-b)²=r²
代入三个顶点的坐标,求出三角形外接圆的半径与圆心坐标
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
三个顶点坐标之和再除以3得到圆心坐标
求圆心坐标到一个顶点的距离即半径
求圆心坐标到一个顶点的距离即半径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询