求助:如何用vtk显示三维网格体

 我来答
匿名用户
2016-12-04
展开全部
clear all [X,Y] = meshgrid(linspace(-3,3)); Z = peaks(X,Y);%生成数据z zR=[1,6];%设置z范围,你自己可以改 z1=Z.*(Z>=zR(1)&Z<=zR(2));%为取出设定范围数据而得到逻辑数组 z2=Z;%为不覆盖原始Z,新建变量 z2(z1(:)==0)=NaN;%设定范围外的值改为NAN,得到初始数据 s=size(z2); s1=[5,10];%设置分块大小(按数据点),你自己可以改,但必须根据原始数据大小能够整除,如不能整除可以剪裁或添加数据 %如果是按坐标系,你需要计算100×100的坐标中有多少个数据点,再来更改上面的设置 s2=[s(1)/s1(1),s(2)/s1(2)];%计算分多少块 for i=1:s2(1); for j=1:s2(2); b=z2((i-1)*s1(1)+1:i*s1(1),(j-1)*s1(2)+1:j*s1(2));%分块数据 a(i,j)=length(find(isnan(b)));%计算每个分块中NaN的个数 end end for i=1:s2(1); for j=1:s2(2); c((i-1)*s1(1)+1:i*s1(1),(j-1)*s1(2)+1:j*s1(2))=a(i,j);%让每一分块赋值为该块的个数 end end z3=(c<=min(c(:)));%为取出概率最小的数据重新赋颜色而得到逻辑数组 z4=Z;%为不覆盖原始Z,新建变量 z4(z3(:)==1)=max(Z(:));%设定概率最小的数据颜色暗红色 figure(2) mesh(X,Y,z2,Z); % surf(X,Y,z2,a2); axis([-3 3 -3 3 -10 10]) % shading interp title('裁剪的原始数据'); figure(3) mesh(X,Y,z2,c); % surf(X,Y,z2,a2); axis([-3 3 -3 3 -10 10]) % shading interp title('裁剪的原始数据分块NaN个数的分布'); figure(4) mesh(X,Y,z2,z4); % surf(X,Y,z2,a2); axis([-3 3 -3 3 -10 10]) % shading interp title('裁剪的原始数据NaN最少的分块区域');
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式