本周文件交换精选

我们最好的用户提交

适合一个球体!

肖恩本周的选择是球面配合通过艾伦·詹宁斯

将球体与数据拟合

我最近有一些数据,想要通过它来拟合一个球体,这样我就能找到这个球体的半径。当我开始写一个目标函数优化工具箱优化器(是的,我使用了太大的锤子方法),在File Exchange上进行了一个快速查询sphereFit这是一个令人愉快的发现。

下载完文件后,我看了艾伦的出版的例子,它看起来是可行的!

让我们来看看它的作用:

人脑负荷核磁共振成像S =负载(“核磁共振”);D =挤压(其中);%在头部边缘生成数据点2 =大小(D, 3): 1:1;%每片凸包的周长米(:,:,(二)= bwperim (bwconvhull (D (:,: ii) > 50));结束

在掩码中找到子索引idx =找到(M);找到M中的点[rr, cc,页]= ind2sub(大小(M), idx);%的子指标页=页。*地板(大小(D, 1)。/大小(3 D));重新缩放三维%视图数据图;scatter3 (rr, cc,页10页);daspect ((1 1 1));视图(-121年,36);轴
适合球体的%:[cent,radius] = sphereFit([rr, cc, pp]);流(1,[%3.1f %3.1f] [%3.1f %3.1f]\n',半径,分);
球半径54.3圆心为[72.9 63.4 51.7]

使用Alan的示例代码通过点来显示球体

scatter3 (cc, rr,页25页,‘*’);%点持有%保存daspect ((1 1 1));所以球面看起来像球面[Base_rr, Base_cc Base_pp] =球体(20);冲浪(半径* Base_rr +分(2),...半径* Base_cc +分(1),...半径* Base_pp +分(3),“faceAlpha”, 0.3,“Facecolor”“米”)轴;视图(-121年,36);

评论

试试吧,让我们知道你的想法在这里或者离开评论艾伦。




发布与MATLAB®R2013b

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。