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)          % 设置环境光强度