www.gusucode.com > 《matlab图像处理与界面编程宝典》秦襄培 编著,每章的MATLAB源代码程序 > 第10章/第10.4.5节中的代码.txt
load wind % 装入数据 wind_speed = sqrt(u.^2 + v.^2 + w.^2); % 风速计算 hiso = patch(isosurface(x,y,z,wind_speed,40)); % 等值面绘制 isonormals(x,y,z,wind_speed,hiso) % 计算等值面的顶点范数 set(hiso,'FaceColor','red','EdgeColor','none'); % 设置等值面属性 hcap = patch(isocaps(x,y,z,wind_speed,40),... % 等值面属性设置 'FaceColor','interp',... % 表面颜色 'EdgeColor','none'); % 边缘颜色 colormap hsv % 设置色彩索引图 daspect([1,1,1]); % 设置显示比例 [f verts] = reducepatch(isosurface(x,y,z,wind_speed,30),0.07); % 降低面片数量 h1 = coneplot(x,y,z,u,v,w,verts(:,1),verts(:,2),verts(:,3),3); % 绘制流锥图 set(h1,'FaceColor','blue','EdgeColor','none'); % 设置等值面属性 xrange = linspace(min(x(:)),max(x(:)),10); % x轴范围 yrange = linspace(min(y(:)),max(y(:)),10); % y轴范围 zrange = 3:4:15; % z轴范围 [cx,cy,cz] = meshgrid(xrange,yrange,zrange); % 数据准备 h2 = coneplot(x,y,z,u,v,w,cx,cy,cz,2); % 绘制流锥图 set(h2,'FaceColor','green','EdgeColor','none'); % 设置流锥图属性 axis tight % 轴的范围为数据范围 box on % 加立体边框,像个盒子把三维图形包起来 camproj perspective % 设置透视方式 camzoom(1.25) % 摄像机放大倍数 view(65,45) % 设置视角 camlight(-45,45) % 设置摄像机灯光位置 set(gcf,'Renderer','zbuffer'); % 设置渲染方式 lighting phong % 设置灯光算法 set(hcap,'AmbientStrength',.6) % 设置环境光强度