资源描述:
《《matlab高级绘图》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB绘图二数学软件9.1三维图形的精细处理9.2图像与动画9.3低层绘图操作9.1三维图形的精细处理9.1.1图形的裁剪处理MATLAB定义的NaN常数可以用于表示那些不可使用的数据,利用这种特性,可以将图形中需要裁剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。数学软件例9.1裁掉例8.15三维曲面图中z>0.25部分。程序如下:x=0:0.1:2*pi;[x,y]=meshgrid(x);z=sin(y).*cos(x);[I,J]=find(z>0.25);forii=1:length(I)z(
2、I(ii),J(ii))=NaN;endsurf(x,y,z);9.1.2视点处理MATLAB提供了设置视点的函数view。其调用格式为:view(az,el)其中az为方位角,el为仰角,它们均以度为单位。系统缺省的视点定义为方位角-37.5°,仰角30°。例9.2从不同视点绘制多峰函数曲面。程序如下:subplot(2,2,1);mesh(peaks);view(-37.5,30);%指定子图1的视点title('azimuth=-37.5,elevation=30')subplot(2,2,2);mesh(peaks);view(0,90);%指定子图2的视点titl
3、e('azimuth=0,elevation=90')subplot(2,2,3);mesh(peaks);view(90,0);%指定子图3的视点title('azimuth=90,elevation=0')subplot(2,2,4);mesh(peaks);view(-7,-10);%指定子图4的视点title('azimuth=-7,elevation=-10')9.1.3色彩处理1.颜色的向量表示MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。2.色图色图是m×3的数值矩阵,它的每一行是RGB三元组。色图矩阵可以人为地生成,也可以调用MATLA
4、B提供的函数来定义色图矩阵。除plot及其派生函数外,mesh、surf等函数均使用色图着色。图形窗口色图的设置和改变,使用函数:colormap(m)其中m代表色图矩阵。3.三维表面图形的着色三维表面图实际上就是在网格图的每一个网格片上涂上颜色。surf函数用缺省的着色方式对网格片着色。除此之外,还可以用shading命令来改变着色方式。例9.3种图形着色方式的效果展示。程序如下:z=peaks(20);colormap(copper);subplot(1,3,1);surf(z);subplot(1,3,2);surf(z);shadingflat;subplot(1,
5、3,3);surf(z);shadinginterp;9.1.3光照处理MATLAB提供了灯光设置的函数,其调用格式为:light('Color',选项1,'Style',选项2,'Position',选项3)例9.4光照处理后的多峰函数曲面。程序如下:z=peaks(20);subplot(1,2,1);surf(z);light('Posi',[0,20,10]);shadinginterp;holdon;plot3(0,20,10,'p');text(0,20,10,'light');subplot(1,2,2);surf(z);light('Posi',[20,0,
6、10]);shadinginterp;holdon;plot3(20,0,10,'p');text(20,0,10,'light');9.2图像与动画9.2.1图像1.imread和imwrite函数imread和imwrite函数分别用于将图像文件读入MATLAB工作空间,以及将图像数据和色图数据一起写入一定格式的图像文件。2.image和imagesc函数这两个函数用于图像显示。为了保证图像的显示效果,一般还应使用colormap函数设置图像色图。例9.5在E盘根目录下有一图像文件building.jpg,在图形窗口显示该图像。程序如下:[x,cmap]=imread(
7、'e:building.jpg');%读取图像的数据阵和色图阵image(x);colormap(cmap);axisimageoff%保持宽高比并取消坐标轴9.2.2动画1.getframe函数getframe函数可截取每一幅画面信息而形成一个很大的列向量。该向量可保存到一个变量中。显然,保存n幅图就需一个大矩阵。2.moviein函数moviein(n)函数用来建立一个足够大的n列矩阵。该矩阵用来保存n幅画面的数据,以备播放。3.movie函数movie(m,n)函数以每秒n幅图形的速度播放由矩阵m的列向量所