第 4 章 matlab计算的可视化第三次课

上传人:飞*** 文档编号:50604771 上传时间:2018-08-09 格式:PPT 页数:61 大小:1.94MB
返回 下载 相关 举报
第 4 章 matlab计算的可视化第三次课_第1页
第1页 / 共61页
第 4 章 matlab计算的可视化第三次课_第2页
第2页 / 共61页
第 4 章 matlab计算的可视化第三次课_第3页
第3页 / 共61页
第 4 章 matlab计算的可视化第三次课_第4页
第4页 / 共61页
第 4 章 matlab计算的可视化第三次课_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《第 4 章 matlab计算的可视化第三次课》由会员分享,可在线阅读,更多相关《第 4 章 matlab计算的可视化第三次课(61页珍藏版)》请在金锄头文库上搜索。

1、第四章 MATLAB计算的可视化(三) 图形修饰处理隐函数绘图图像处理与动画制作4.4 图形修饰处理4.4.1 视点处理从不同的视点绘制的图形其形状是不一样的。视点位置可由方位角和仰角表示。方位角又称旋转角,它是视点与原点连线在xy平面上的投影与y轴负方向形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角,它是视点与原点连线与xy平面的夹角,正值表示视点在xy平面上方,负值表示视点在xy平面下方。4.4 图形修饰处理MATLAB提供了设置视点的函数view,其调用格式为view(az,el):az为方位角,是视点与原点连线在xy平面上的投影与y轴负方向的夹角,逆时针旋转为正方向。el为仰

2、角。它们的单位均为度。view(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-

3、axis),ylabel(Y-axis)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 00 1.0000 0.0000 00 -0.0000 1.0000 00 0 0 1.00004.4 图形修饰处理函数rotate3d是较为常用的三维视角变化函数,该函数的

4、使用将触发图形窗口的rotate3d选项,这时,用户可以方便地用鼠标来控制视角的变化,而且,视角的变化值也将实时地显示在图中。【例4.47】三维视角变化函数设置视角为(-33,42)。x,y,z=peaks;colormap(hsv(100)mesh(x,y,z)rotate3d4.4 图形修饰处理4.4.2 色彩处理1颜色的向量表示MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。向量元素的范围取值为0,1,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB向量,如灰色表示为0.5 0.5 0.5。下页表所示为几种常见颜色的RGB值。4.4 图形修饰处理4.4 图形修

5、饰处理2色图色图(Color map)是MATLAB中的颜色参照表。色图 以m 3的数值矩阵表示,用于定义m种颜色,它的每一行 对应某个颜色的RGB向量。色图保存着颜色从浓到淡或从 一种颜色过渡到另一种颜色的所有中间颜色的值。除plot 及其派生函数外,mesh、surf等函数均使用色图着色。 MATLAB中使用函数colormap设置和获取图像显示用的颜色 参照表,函数的调用格式为colormap(m)其中m为一三列矩阵,行数不限,该矩阵可以是下页表 所示的颜色映像,也可以为用户自定义的颜色映像矩阵。 4.4 图形修饰处理颜色映像相应的颜色系颜色映像相应的颜色系autumn红黄色系hsv色调

6、饱和色系(以红色开始并束) bone带一点蓝色的灰度 jet色调饱和色系(以蓝色开始并束)colorcub e增强的颜色系lines线性色系cool青和洋红的色系pink柔和色系copper线型铜色系prism棱镜色系flag交替的红白蓝黑色系spring洋红黄色系gray线性灰色系summer绿、黄色系hot黑红黄白色系winter蓝、绿色系vgaWindows16为为色系4.4 图形修饰处理例如:colormap(pink(8);%定义当前窗口的颜色映像为柔和色 系,其颜色定义有8种。可以通过查看颜色映像矩阵而 得到具体的颜色值。例如:pink(8) ans =0.3333 0 00.56

7、34 0.3086 0.30860.7237 0.4364 0.43640.7868 0.6299 0.53450.8452 0.7766 0.61720.8997 0.8997 0.69010.9512 0.9512 0.85911.0000 1.0000 1.00004.4 图形修饰处理完成对颜色映像的定义后,可以调用所定义的颜色映像为图形服务,有pcolor,rgbplot及colorbar等函数。函数pcolor为伪色函数,伪色并不是真正的颜色,而是通过颜色的不同来反映相应数据数值的大小。调用格式:pcolor(c):其作用相当于以当前颜色映像为矩阵c进行“着色”,即根据矩阵元素的大小

8、在当前颜色映像中进行插值着色。4.4 图形修饰处理函数pcolor的使用一般与函数shading相结合,shading 的作用在于以不同方式为图形着色,其调用格式如下:shading 控制字符串其中控制字符串主要有三种形式,分别是faceted,interp 和flat。其中faceted为其默认形式,以平面作为着色单位 ;interp以插值形式为图形的像点着色;flat以平滑形式 定义着色方式。对于pcolor函数,其着色方式默认为 faceted方式,可以通过调用shading加以修改。4.4 图形修饰处理【例4.48】绘制矩阵rosser的伪色图。colormap(hot(80);pco

9、lor(rosser);shading interp;shading flat;4.4 图形修饰处理函数rgbplot是一种直接显示颜色映像的函数,其调用格式为;rgbplot(colormap):该函数的输入变量本身是一个颜色映像,或颜色映像相似的数值矩阵,其作用是将矩阵的三列值分别以红、绿、蓝绘出。【例如】rgbplot(hot(80)此命令绘出颜色映像hot(80)的RGB三色图,如右图。4.4 图形修饰处理函数colorbar将在当前的图形窗口中显示颜色标尺,用来反映当前使用的颜色映像,并且以此反映图形中数据的相对大小。其调用格式如下:colorbar(vert) %垂直显示颜色标尺c

10、olorbar(horiz)%水平显示颜色标尺【例4.49】对色图添加颜色标尺。x,y,z=peaks;mesh(x,y,z);colormap(hot(80);colorbar4.4 图形修饰处理3三维表面图形的着色三维表面图实际上就是在网格图的每一个网格片上涂 上颜色。surf函数用默认的着色方式对网格片着色。此外 ,还可以用shading命令来改变着色方式,shading命令的 调用格式为: shading 选项其中,“选项”有如下3种取值。 faceted:将每个网格片用其高度对应的颜色进行着色, 但网格线仍保留着,其颜色是黑色。这是系统的默认着色 方式。 flat:将每个网格片用同一

11、个颜色进行着色,且网格线也 用相应的颜色,从而使得图形表面显得更加光滑。 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 equal subplot(1,3,3); surf(x,y,z);shading interp;axis equal4.4 图形修饰处理除了使用已有的颜色映像

12、,还可以对颜色映像本身进 行操作,函数有brighten和caxis。函数brighten的作用是对颜色映像的色彩强弱进行调 整,其调用格式:brighten(beta)当beta大于零时,将增强当前的色彩强度;相反,当 beta小于零时,将削弱当前的色彩强度。若调用过 brighten(beta)后再调用一次brighten(beta),可以很 明显地看到原图的色彩强弱变化。也可以将调整过的颜 色映像赋以新的变量名,这样不仅会生成新的颜色映像 ,而且被调整的颜色映像的值也不会改变。4.4 图形修饰处理函数caxis也是一个经常用到的颜色处理函数,使用该 函数可以自如地控制图形中颜色显示的范围

13、以及色彩与数 值的对应关系。其调用格式为:caxis(cmin,cmax)cmin,cmax=caxis当使用第一种方式调用时,系统将在cmin,cmax 范围内与颜色映像的色值相对应,并依此为图形着色。如 果数据点的值小于cmin或大于cmax时,将按等于cmin或 cmax得数据点的颜色进行着色;如果数据点的全集是 cmin,cmax的一个子集,则将按其对应的颜色进行着色, 也即此时只利用了颜色映像的一部分。4.4 图形修饰处理例对4.49进行操作:caxis(-2,2)此时数据限超过caxis的设定限。结果如下图所示。4.4 图形修饰处理caxis(-10,10)此时数据限小于caxis

14、的设定限,结果如下图所示。 4.4 图形修饰处理Matlab语言中对背景颜色 进行操作的函数: colordef【例4.51】图形背景色彩控 制演示。colordef nonex,y,z=peaks;mesh(x,y,z);colordef blackmesh(x,y,z)4.4 图形修饰处理4.4.3 光照处理MATLAB提供了灯光设置的函数,其调用格式为light(属性,选项)常用属性有表示光的颜色的color属性、表示光源形式的style属性和表示光源位置的position属性。color属性的选项可取相应的颜色字符或RGB三元组。style属性的选项有infinite和local两个取

15、值,分别表示无限远的平行光源和近光源。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,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不仅以像素作为光照的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号