matlab计算的可视化第三次.ppt
《matlab计算的可视化第三次.ppt》由会员分享,可在线阅读,更多相关《matlab计算的可视化第三次.ppt(61页珍藏版)》请在三一办公上搜索。
1、第四章 MATLAB计算的可视化(三),4.4 图形修饰处理,4.4.1 视点处理 从不同的视点绘制的图形其形状是不一样的。视点位置可由方位角和仰角表示。方位角又称旋转角,它是视点与原点连线在xy平面上的投影与y轴负方向形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角,它是视点与原点连线与xy平面的夹角,正值表示视点在xy平面上方,负值表示视点在xy平面下方。,4.4 图形修饰处理,MATLAB提供了设置视点的函数view,其调用格式为view(az,el):az为方位角,是视点与原点连线在xy平面上的投影与y轴负方向的夹角,逆时针旋转为正方向。el为仰角。它们的单位均为度。view(
2、2):给出了二维图形中视角的默认值(0,90);view(3):给出了三维视图中视角的默认值(-37.5,30)az,el=view:返回当前图形的视角。,4.4 图形修饰处理,【例4.45】从不同视点观察三维曲线。程序如下:x,y=meshgrid(0:0.1:pi/2,0:0.1:pi);z=sin(x.2)+cos(y.2);subplot(1,3,1)plot3(x,y,z);grid,xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis);subplot(1,3,2)plot3(x,y,z)grid,xlabel(X-axis),ylabel(Y-a
3、xis)title(Az=90,El=0)view(90,0)subplot(1,3,3)plot3(x,y,z)grid,xlabel(X-axis),ylabel(Y-axis)title(Az=0,El=90)view(0,90)或view(2),4.4 图形修饰处理,函数viewmtx给出指定视角的正交转换矩阵【例4.46】A=viewmtx(0,90)A=1.0000 0 0 0 0 1.0000 0.0000 0 0-0.0000 1.0000 0 0 0 0 1.0000,4.4 图形修饰处理,函数rotate3d是较为常用的三维视角变化函数,该函数的使用将触发图形窗口的rota
4、te3d选项,这时,用户可以方便地用鼠标来控制视角的变化,而且,视角的变化值也将实时地显示在图中。【例4.47】三维视角变化函数设置视角为(-33,42)。x,y,z=peaks;colormap(hsv(100)mesh(x,y,z)rotate3d,4.4 图形修饰处理,4.4.2 色彩处理1颜色的向量表示 MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。向量元素的范围取值为0,1,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB向量,如灰色表示为0.5 0.5 0.5。下页表所示为几种常见颜色的RGB值。,4.4 图形修饰处理,4.4 图形修饰处理,2色图 色
5、图(Color map)是MATLAB中的颜色参照表。色图以m3的数值矩阵表示,用于定义m种颜色,它的每一行对应某个颜色的RGB向量。色图保存着颜色从浓到淡或从一种颜色过渡到另一种颜色的所有中间颜色的值。除plot及其派生函数外,mesh、surf等函数均使用色图着色。MATLAB中使用函数colormap设置和获取图像显示用的颜色参照表,函数的调用格式为 colormap(m)其中m为一三列矩阵,行数不限,该矩阵可以是下页表所示的颜色映像,也可以为用户自定义的颜色映像矩阵。,4.4 图形修饰处理,4.4 图形修饰处理,例如:colormap(pink(8);%定义当前窗口的颜色映像为柔和色系
6、,其颜色定义有8种。可以通过查看颜色映像矩阵而得到具体的颜色值。例如:pink(8)ans=0.3333 0 0 0.5634 0.3086 0.3086 0.7237 0.4364 0.4364 0.7868 0.6299 0.5345 0.8452 0.7766 0.6172 0.8997 0.8997 0.6901 0.9512 0.9512 0.8591 1.0000 1.0000 1.0000,4.4 图形修饰处理,完成对颜色映像的定义后,可以调用所定义的颜色映像为图形服务,有pcolor,rgbplot及colorbar等函数。函数pcolor为伪色函数,伪色并不是真正的颜色,而是
7、通过颜色的不同来反映相应数据数值的大小。调用格式:pcolor(c):其作用相当于以当前颜色映像为矩阵c进行“着色”,即根据矩阵元素的大小在当前颜色映像中进行插值着色。,4.4 图形修饰处理,函数pcolor的使用一般与函数shading相结合,shading的作用在于以不同方式为图形着色,其调用格式如下:shading 控制字符串 其中控制字符串主要有三种形式,分别是faceted,interp和flat。其中faceted为其默认形式,以平面作为着色单位;interp以插值形式为图形的像点着色;flat以平滑形式定义着色方式。对于pcolor函数,其着色方式默认为faceted方式,可以通
8、过调用shading加以修改。,4.4 图形修饰处理,【例4.48】绘制矩阵rosser的伪色图。colormap(hot(80);pcolor(rosser);shading interp;shading flat;,4.4 图形修饰处理,函数rgbplot是一种直接显示颜色映像的函数,其调用格式为;rgbplot(colormap):该函数的输入变量本身是一个颜色映像,或颜色映像相似的数值矩阵,其作用是将矩阵的三列值分别以红、绿、蓝绘出。【例如】rgbplot(hot(80)此命令绘出颜色映像hot(80)的RGB三色图,如右图。,4.4 图形修饰处理,函数colorbar将在当前的图形窗
9、口中显示颜色标尺,用来反映当前使用的颜色映像,并且以此反映图形中数据的相对大小。其调用格式如下:colorbar(vert)%垂直显示颜色标尺 colorbar(horiz)%水平显示颜色标尺【例4.49】对色图添加颜色标尺。x,y,z=peaks;mesh(x,y,z);colormap(hot(80);colorbar,4.4 图形修饰处理,3三维表面图形的着色 三维表面图实际上就是在网格图的每一个网格片上涂上颜色。surf函数用默认的着色方式对网格片着色。此外,还可以用shading命令来改变着色方式,shading命令的调用格式为:shading 选项 其中,“选项”有如下3种取值。f
10、aceted:将每个网格片用其高度对应的颜色进行着色,但网格线仍保留着,其颜色是黑色。这是系统的默认着色方式。flat:将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。interp:在网格片内采用颜色插值处理,绘制出的表面图显得最光滑。,4.4 图形修饰处理,【例4.50】三种着色方式的效果展示。x,y,z=sphere(20);colormap(copper);subplot(1,3,1);surf(x,y,z);axis equal;subplot(1,3,2);surf(x,y,z);shading flat;axis equalsubplot(1
11、,3,3);surf(x,y,z);shading interp;axis equal,4.4 图形修饰处理,除了使用已有的颜色映像,还可以对颜色映像本身进行操作,函数有brighten和caxis。函数brighten的作用是对颜色映像的色彩强弱进行调整,其调用格式:brighten(beta)当beta大于零时,将增强当前的色彩强度;相反,当beta小于零时,将削弱当前的色彩强度。若调用过brighten(beta)后再调用一次brighten(beta),可以很明显地看到原图的色彩强弱变化。也可以将调整过的颜色映像赋以新的变量名,这样不仅会生成新的颜色映像,而且被调整的颜色映像的值也不会
12、改变。,4.4 图形修饰处理,函数caxis也是一个经常用到的颜色处理函数,使用该函数可以自如地控制图形中颜色显示的范围以及色彩与数值的对应关系。其调用格式为:caxis(cmin,cmax)cmin,cmax=caxis 当使用第一种方式调用时,系统将在cmin,cmax范围内与颜色映像的色值相对应,并依此为图形着色。如果数据点的值小于cmin或大于cmax时,将按等于cmin或cmax得数据点的颜色进行着色;如果数据点的全集是cmin,cmax的一个子集,则将按其对应的颜色进行着色,也即此时只利用了颜色映像的一部分。,4.4 图形修饰处理,例对4.49进行操作:caxis(-2,2)此时数
13、据限超过caxis的设定限。结果如下图所示。,4.4 图形修饰处理,caxis(-10,10)此时数据限小于caxis的设定限,结果如下图所示。,4.4 图形修饰处理,Matlab语言中对背景颜色进行操作的函数:colordef【例4.51】图形背景色彩控制演示。,colordef none x,y,z=peaks;mesh(x,y,z);colordef black mesh(x,y,z),4.4 图形修饰处理,4.4.3 光照处理 MATLAB提供了灯光设置的函数,其调用格式为 light(属性,选项)常用属性有表示光的颜色的color属性、表示光源形式的style属性和表示光源位置的po
14、sition属性。color属性的选项可取相应的颜色字符或RGB三元组。style属性的选项有infinite和local两个取值,分别表示无限远的平行光源和近光源。position属性的选项取三维坐标点组成的向量形式x,y,z。,4.4 图形修饰处理,【例4.52】光照处理后的球面。x,y,z=sphere(20);subplot(1,2,1);surf(x,y,z);axis equal;light(Position,0,1,1);shading interp;hold on;plot3(0,1,1,p);text(0,1,1,light);subplot(1,2,2);surf(x,y,
15、z);axis equal;light(Position,1,0,1);shading interp;hold on;plot3(1,0,1,p);text(1,0,1,light);,4.4 图形修饰处理,Matlab语言提供的光源模式函数为lighting.其调用格式:lighting 光源模式 光源模式为flat,gourand,phong以及none等。其中flat模式为平面模式,图形的光照单元设为图形网格,这时能够大量节省系统资源,但图形效果较差,此为默认模式;gourand为点模式,光照单元为图形的像素点;phong不仅以像素作为光照的基本单元,而且还计算分配了各点的反射比;当设置
16、为none时,将关闭图形光源功能。,4.4 图形修饰处理,【例4.53】下例设置光源模式:x,y,z=peaks;mesh(x,y,z);light(position,1,1,1)lighting phong,4.4 图形修饰处理,图形表面的控制函数material。其调用格式如下:material表面控制模式 控制模式有shiny,dull,metal等,其中shiny模式是指图形表面显示较为光亮的模式,dull则是指表面显示较为阴暗的色彩模式,而metal则是指表面呈现金属光泽的模式。,4.4 图形修饰处理,【例4.54】将图形表面设置为metal型。x,y,z=peaks;mesh(x,
17、y,z);light(position,1,1,1)lighting phong;material metal,4.4 图形修饰处理,4.4 图形修饰处理,另一个涉及光照的函数为surfl,该函数与三维表面函数surf极为相似,只是增加了对光源以及图形表面特性的设置,其调用格式为:surfl(X,Y,Z,S,K)输入变量中,X,Y,Z为绘制图形必须的数据矩阵,而输入变量S为光源控制变量,其具体形式为Sx,Sy,Sz或az,el,前一种方式给出光源位置,后一种方式给出视角;输入变量K用以控制图形表面形式,具体形式Ka,Kd,Ks,spread,其中Ka表示背景光系数,Kd反映表面漫反射特性,Ks
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 计算 可视化 第三次
链接地址:https://www.31ppt.com/p-5439314.html