请教大家: 已知若干个离散点的三维坐标,如何拟合成一个封闭的曲面。 程序: %-------------------------------------------------------------------------- A=xlsread('PointData.xls'); % 下部分网格曲面 x=A(1:85,1); % 根据dz的大小,相应调整行的范围--及确定好哪些点属于下部分 y=A(1:85,2); z=A(1:85,3); minx = min(x); maxx = max(x); miny = min(y); maxy = max(y); xtemp=linspace(min(x),max(x),50);%这个是选择的数值样本大小,越大曲线越平滑% ytemp=linspace(min(y),max(y),50); [X,Y]=meshgrid(xtemp,ytemp); Z=griddata(x,y,z,X,Y,'cubic'); figure('numbertitle','off','name','网格图') surf(X,Y,Z) shading faceted %-------------------------------------------------------------------------- % 上部分网格曲面 hold on x=A(61:404,1); y=A(61:404,2); z=A(61:404,3); minx = min(x); maxx = max(x); miny = min(y); maxy = max(y); xtemp=linspace(min(x),max(x),50);%这个是选择的数值样本大小,越大曲线越平滑% ytemp=linspace(min(y),max(y),50); [X,Y]=meshgrid(xtemp,ytemp); Z=griddata(x,y,z,X,Y,'cubic'); surf(X,Y,Z) shading faceted figure('name','散点图') plot3(A(:,1),A(:,2),A(:,3),'*') 我自己用上述方法分别拟合上下两部分,但是图中有缺口,如何才能得到封闭的图形呢? 谢谢~! |
11 条回复