1 / 78

第四章 图形处理功能

第四章 图形处理功能. MATLAB 的图形处理工具箱从简单的点、线、面处理发展到了集二维、三维甚至四维表现图和对图进行着色、消隐、光照、渲染及多视角处理等强大功能包,数据可视化和绘图方面的能力。 本章主要内容: 4.1 二维图形 4.2 三维图形 4.3 图形处理的基本技术 4.4 图形处理的高级技术 4.5 图形窗口. 4.1 二维图形. 二维图形的绘制是 MATLAB 图形处理的基础,在数值计算的过程中,用户可通过 MATLAB 函数将计算结果图形化,以实现对结果数据的深层次理解。. 4.1.1 基本绘图指令.

kaelem
Download Presentation

第四章 图形处理功能

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 图形处理功能 MATLAB的图形处理工具箱从简单的点、线、面处理发展到了集二维、三维甚至四维表现图和对图进行着色、消隐、光照、渲染及多视角处理等强大功能包,数据可视化和绘图方面的能力。 本章主要内容: • 4.1 二维图形 • 4.2 三维图形 • 4.3 图形处理的基本技术 • 4.4 图形处理的高级技术 • 4.5 图形窗口

  2. 4.1 二维图形 • 二维图形的绘制是MATLAB图形处理的基础,在数值计算的过程中,用户可通过MATLAB函数将计算结果图形化,以实现对结果数据的深层次理解。

  3. 4.1.1 基本绘图指令 • 绘制函数——plot函数 • 函数能够将向量或者矩阵中的数据绘制在图形窗体中,并且可以指定不同的线型和色彩 基本格式 • 绘制一条曲线 plot(xdata,ydata,’color_linestyle_marker’) • 绘制多条曲线 plot(xdata1,ydata1,’clm1’,xdata2,ydata2,’clm2’,……)

  4. 设置曲线线型、颜色以及标识的控制符

  5. Plot绘图相关命令

  6. 4.1.2 二维特殊函数图

  7. 4.2 三维图形 • 4.2.1 基本绘图命令 • plot3、网图函数、 • 着色图 • 1.plot3 • 2.网图函数

  8. 特殊的三维图形函数

  9. 4.3 图形处理的基本技术 • 图形控制、图形标注、图形保持、子图的绘制 • 4.3.1图形控制 • 1.坐标轴控制axis

  10. 2.坐标轴缩放zoom • Zoom的控制符:当zoom处于on时,可通过鼠标进行图形缩放

  11. 3. 图形的标注 • (1) 坐标轴标注:title为图形添加标题、xlablel,ylabel为坐标轴添加标注 • 标注时指数或分母应放在大括号内{} • (2)文本标注 • Text(x,y,’标注文本及控制字符串’) • (3)交互文本标注gtext:用户可通过鼠标来选择文本输入点 • (4)图例标注legend

  12. 4.图形保持与子图 (1)图形保持 Hold on 启动图形保持 Hold off 关闭图形保持 Hold 切换 (2)子图 Subplot(m,n,p)分割图形窗口成m*n个子绘图区,并从左至右编号 注:对一个子图进行图形设置不影响其它子图

  13. 4.4 图形处理的高级技术 • 1. 颜色映像:默认状态为64*3的颜色矩阵,每个颜色映像均描述了64种颜色的RGB属性。 • 2.调用颜色映像函数为colormap ,其输入变量为一3 列矩阵。如colormap(pink(8))

  14. 3. 调用所定义的颜色 • 定义颜色后,用户可调用所定义的颜色映像为图形服务: • (1)pcolor(C):以当前颜色映像为矩阵C进行“着色”,即根据矩阵元素的大小在当前颜色映像中进行插值着色。 • shading’控制字符串’,与pcolor相结合使用,其作用是以不同方式为图形元素着色。控制字符串有以下3种: • Faceted以平面为着色单位 • Interp以插值形式为图形的像点着色 • Flat以平滑形式

  15. (2) rgbplot: 将矩阵的三列值分别以红、绿、蓝绘出。 • 如rgbplot(hot(80)) • (3) colorbar: 在当前的图形窗口中显示颜色标尺,用来反映当前便用的颜色映像。 • (4) brighten: 调整颜色映像的色彩强弱 • (5)caxis:控制图形中颜色显示的范围及色彩与数值的对应关系 • (6) colordef: 对背景颜色进行操作

  16. 4. 视角与光照 • (1)视角控制:view, viewmtx, rotate3D • View(az,el): az为方位角,即从y轴负方向开始以逆时针旋转的角度;el为仰角,即朝向z轴旋转的角度。 • Viewmtx:给出指定视角的正交转换矩阵 • rotate3D:触发图形窗口的rotate3D选项,用鼠标来控制视角变化 • (2)光照控制

  17. (3) surfl(x,y,z,s,k): 三维光照图形,对surf增加了对光源位置及图形表面光特性的设置。

  18. 5. 图像处理 • (1)imread: Matlab环境下调用外部图形的函数,通过它可以把其他图形转换成Matlab可识别的类型。 • (2)imwrite: 将图像矩阵写入外部文件 • (3)imfinfo: 显示图像信息 • (4)image:在图形窗口中显示外部图像文件: • Matlab图像形式: • 索引图:存储时需要一个图像数据矩阵(下标对应图像像素点下标,元素值为颜色位置)和一个颜色映像矩阵;

  19. 灰度图像:只需一个图像数据矩阵(下标对应像素点下标,元素值为当前颜色映像的插值因子。灰度图像:只需一个图像数据矩阵(下标对应像素点下标,元素值为当前颜色映像的插值因子。 • 真彩图像:只需一个三维数据数组,每一面的元素下标对应像素点的下标,值为一个基色,三个面构成其真色。

  20. 4.5 图形编辑器 • MATLAB的图形窗体进入编辑模式后,可以向其中的对象添加文本、箭头、直线等,还可以利用编辑工具完成图形对象的编辑工作 • 进入图形编辑模式的方法 • 执行图形窗体中“Tool”菜单下的“Edit Plot”命令 • 单击图形窗体工具栏中选择对象按钮 • 执行“Edit”菜单下的菜单命令或者“Insert”菜单下的菜单命令 • 在MATLAB命令行窗口中,键入“plotedit”指令 • 回到正常的显示模式 • 完成工作后,单击 按钮 • 图形编辑模式下的主要工作 • 设置各种图形对象的属性

  21. 图形编辑器(续) 例6-8 利用图形编辑模式编辑轴对象属性 1、进入图形编辑模式 2、用鼠标单击轴

  22. 控制绘图区域(续) 3、打开轴对象的属性编辑器 • 执行“Edit”菜单下的“”命令 • 执行鼠标右键快捷菜单下的“”命令 • 在MATLAB命令行窗口中键入指令,在弹出的图形属性对话框中选择轴对象

  23. 格式化文本标注(续) 例:% 使用不同的文本标注属性 % 准备数据并绘制曲线 x=0:.1:2*pi;y=sin(x);plot(x,y) grid on;hold on plot(x,exp(-x),'r:*'); % 添加标注 title('2-D Plots','FontName','Arial','FontSize',16) % 使用中文字体 xlabel('时间','FontName','隶书','FontSize',16) % 加粗文本 ylabel('Sin(t)','FontWeight','Bold') % 修改字号 text(pi/3,sin(pi/3),'<--Sin(\pi/3)','FontSize',12) legend('Sine Wave','Decaying Exponential') hold off

  24. 特殊字符标注 • 利用LaTeX字符集和MATLAB文本注释的定义,可以在MATLAB的图形文本标注中使用希腊字符、数学符号或者上标和下标字体等 • 进行上标文本的注释需要使用“^”字符,进行下标文本的注释需要使用“_”字符 • ^{supeerstring}——进行上标文本的注释 • _{substring}——进行下标文本的注释 • 使用特殊字符标注时,要用“\”符号 • \bf:加粗字体 • \it:斜字体 • \sl:斜字体 • \rm:正常字体 • \fontname{fontname}:定义使用特殊的字体名称 • \fontsize{fontsize}:定义使用特殊的字体大小

  25. 特殊字符标注(续) 例6-10 使用特殊文本标注 001 function latex_examp 002 % LATEX_EXAMP在文本注释中使用特殊文本 003 alpha=-0.5; 004 beta=3; 005 A=50; 006 t=0:.1:10; 007 y=A*exp(alpha*t).*sin(beta*t); 008 % 绘制曲线 009 plot(t,y);

  26. 特殊字符标注(续) 010 % 添加特殊文本注释 011 title(‘\fontname{隶书}\fontsize{16}{隶书} \fontname{Impact}{Impact}') 012 xlabel('^{上标}and_{下标}') 013 ylabel('Some\bf粗体\rm and some\it{斜体}') 014 txt={'y={\itAe}^{\alphax}sin(\beta\itt)', ['\itA\rm','=',num2str(A)], ['\alpha=',num2str(alpha)], ['\beta=',num2str(beta)]}; 015 text(2,22,txt);

  27. 4.6 图形修饰 • 图形颜色的修饰 • 图形效果的修饰

  28. 一、图形颜色的修饰 • colormap(MAP) —— 色图设定函数,MAP为m×3维色图矩阵 • 图形颜色可根据需要任意生成,也可用MATLAB配备的色图函数 • shading faceted — 网格修饰,缺省方式 • shading flat —— 去掉黑色线条,根据小方块的值确定颜色 • shading interp —— 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色

  29. 图形颜色的修饰(续) 例: >> z=peaks(30); >> surf(z) peaks函数可产生一个凹凸有致的曲面,该曲面包含三个局部极大点和三个局部极小点

  30. 图形颜色的修饰(续) 1、shading flat —— 去掉黑色线条,根据小方块的值确定颜色 >> shading flat

  31. 图形颜色的修饰(续) 2、 shading interp —— 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色 >> shading interp

  32. 图形颜色的修饰(续) 3、 shading faceted — 网格修饰,缺省方式 >> shading faceted

  33. 二、图形效果的修饰 • 透视与消隐—— 用于网线图 • 裁剪修饰 ——用于网线图、曲面图 • 视角修饰 —— 观察不同角度的三维视图 • 其它修饰: a. 水线修饰 b. 等高线修饰

  34. 1、透视与消隐 • 透视与消隐—— 用于网线图 • 使用函数hidden on和hidden off • 函数hidden on——消隐(默认) • 函数hidden off——透视

  35. 透视与消隐(续) 例 >> p = peaks(30); >> mesh(p)

  36. 透视与消隐(续) >> hidden off (透视)

  37. 透视与消隐(续) >> hidden on (消隐)

  38. 2、裁剪修饰 • 裁剪修饰 ——用于网线图、曲面图 • 裁剪就是将网线图或曲面图切掉一部分,以显示不同的效果 • 用NaN或nan(Not a Number,即“非数值”)来取代矩阵某一部分的值

  39. 裁剪修饰(续) 例:>> p=peaks; >> p(30:40,20:30)=nan*p(30:40,20:30); >> surf(p)

  40. 裁剪修饰(续) 例:>> p=peaks; >> p(30:40,20:30)=nan*p(30:40,20:30); >> mesh(p)

  41. 3、视角修饰 • 视角修饰 —— 观察不同角度的三维视图 • 视角修饰 ——用于网线图、曲面图 • 视角修饰 • 使用函数view(az,el)进行视角修饰 az ----方位角;el ---- 俯视角 省缺值为:az=-37.5; el=30

  42. 视角修饰(续) 例: >> z=peaks(40); >> subplot(2,2,1);mesh(z); >> subplot(2,2,2);mesh(z);view(-15,60); >> subplot(2,2,3);mesh(z);view(-90,0); >> subplot(2,2,4);mesh(z);view(-7,-10)

  43. 视角修饰(续)

  44. 视角修饰(续) 例: >> z=peaks(40); >> subplot(2,2,1);surf(z); >> subplot(2,2,2);surf(z);view(-15,60); >> subplot(2,2,3);surf(z);view(-90,0); >> subplot(2,2,4);surf(z);view(-7,-10)

  45. 视角修饰(续)

  46. 4、其他修饰 • 其它修饰: (1)水线修饰 (2)等高线修饰

  47. (1)水线修饰 • 使用waterfall命令可在X方向或Y方向产生水流效果 • 对于网线图和曲面图,水线修饰效果一样

  48. 水线修饰(续) 例: >> z=peaks(40); >>mesh(z) >> waterfall(z) 或 >> z=peaks(40); >> surf(z) >> waterfall(z) >> z=peaks(40); >> waterfall(z)

  49. (2)等高线修饰 • meshc函数用来绘制具有等高线性质的mesh网线 • surfc函数绘制具有等高线性质的surf曲面

More Related