资源简介
给定点集组成任意多边形,使用matlab求出包含所有点的最小外接圆。
代码片段和文件信息
function [RadiusCC]=CircleThru3Dots(p)
A = p(1:);
B = p(2:);
C = p(3:);
Ah=A*A‘;
Bh=B*B‘;
Ch=C*C‘;
CC=zeros(size(A));
G=(C(2)-B(2))*A(1)+(A(2)-C(2))*B(1)+(B(2)-A(2))*C(1);
CC(1)=((Bh-Ch)*A(2)+(Ch-Ah)*B(2)+(Ah-Bh)*C(2))/(2*G);
CC(2)=-((Bh-Ch)*A(1)+(Ch-Ah)*B(1)+(Ah-Bh)*C(1))/(2*G);
Radius=sqrt((A-CC)*(A-CC)‘);
theta=linspace(02*pi101);
x=CC(1)+Radius*cos(theta);
y=CC(2)+Radius*sin(theta);
% plot(xy‘r-‘)
ABC=[A;B;C];
% hold on
% plot(ABC(:1)ABC(:2)‘b.‘‘markersize‘20)
% plot(CC(1)CC(2)‘r.‘‘markersize‘20)
% grid on
% box off
% axis equal
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 391 2017-12-26 17:48 bianyuanCircle.mat
文件 583 2017-12-30 17:56 CircleThru3Dots.m
文件 1856 2017-12-30 20:13 include_fourPoint.m
文件 353 2017-12-30 17:57 include_threePoint.m
文件 1026 2017-12-31 09:30 index.m
文件 663 2017-12-30 20:11 min_r.m
- 上一篇:色散熵的主要代码
- 下一篇:matlab 计算器的实现
评论
共有 条评论