标签:equal 分享 play splay spl bubuko pre 技术分享 gif
clear all; close all; clc; n=100; p=rand(n,2); p1=p(1,:); %取第一行的值 P1点 p2=p(2,:); %取第二行的值 P2点 r=sqrt((p1(1)-p2(1))^2+(p1(2)-p2(2))^2)/2; %求两点半径 cenp=(p1+p2)/2; %求两点中点 for i=3:n newp=p(i,:); %从第三行开始 储存新的点 d=sqrt((cenp(1)-newp(1))^2+(cenp(2)-newp(2))^2); %圆心到新的点的距离为d if d>r %当距离大于现有半径的时候,赋值更大的半径 r=(r+d)/2; cenp=cenp+(d-r)/d*(newp-cenp); %按比例位移中心 end end hold on; plot(p(:,1),p(:,2),‘rs‘); x0=cenp(1); %圆心横坐标 y0=cenp(2); theta=0:0.01:2*pi; x=x0+r*cos(theta); y=y0+r*sin(theta); plot(x,y,‘k-‘,x0,y0,‘k.‘); axis equal
标签:equal 分享 play splay spl bubuko pre 技术分享 gif
原文地址:https://www.cnblogs.com/clemente/p/9579337.html