1个回答
展开全部
输入的离散点在
变量X中
X=[x1 y1 z1;
x2 y2 z2;
...........];
是一个n行,3列的矩阵,1,2,3列分别为x,y,z坐标
p0=mean(X);%以重心为初始圆心
r02=mean(sqrt(sum((X-repmat(p0,[size(X,1) 1])).^2,2)));%以到重心的平均距离为初始半径
f=@(p)(X(:,1)-p(1)).^2+(X(:,2)-p(2)).^2+(X(:,3)-p(3)).^2-p(4).^2;
p=lsqnonlin(f,[p0 r02]);
x0=p(1);y0=p(2);z0=p(3);
radii=abs(p(4));
x0 y0 z0 为圆心坐标
radii为半径。
变量X中
X=[x1 y1 z1;
x2 y2 z2;
...........];
是一个n行,3列的矩阵,1,2,3列分别为x,y,z坐标
p0=mean(X);%以重心为初始圆心
r02=mean(sqrt(sum((X-repmat(p0,[size(X,1) 1])).^2,2)));%以到重心的平均距离为初始半径
f=@(p)(X(:,1)-p(1)).^2+(X(:,2)-p(2)).^2+(X(:,3)-p(3)).^2-p(4).^2;
p=lsqnonlin(f,[p0 r02]);
x0=p(1);y0=p(2);z0=p(3);
radii=abs(p(4));
x0 y0 z0 为圆心坐标
radii为半径。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询