MATLAB高级图形处理教程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MATLAB高级图形处理教程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 高级 图形 处理 教程 课件
- 资源描述:
-
1、第五章第五章 高级图形处理功能高级图形处理功能目的目的:1、更深入地理解高层绘图指令,从而可、更深入地理解高层绘图指令,从而可绘制出更精细、更生动、更个性的图形;绘制出更精细、更生动、更个性的图形;2、能利用低层图形指令和图形对象属性、能利用低层图形指令和图形对象属性开发专用绘图函数。开发专用绘图函数。一、句柄图形体系一、句柄图形体系n句柄图形句柄图形(Handle Graphics)是一种面向)是一种面向对象的绘图系统。该系统提供创建计算机图对象的绘图系统。该系统提供创建计算机图形所必需的各种软件。它所支持的指令,可形所必需的各种软件。它所支持的指令,可直接创建线、文字、网线、面以及图形用户
2、直接创建线、文字、网线、面以及图形用户界面。界面。n各种各种MATLAB高层高层(High-level)图形指令)图形指令(如(如plot,mesh)都是以句柄图形软件为基)都是以句柄图形软件为基础写成的。也正是这个原因,句柄图形也被础写成的。也正是这个原因,句柄图形也被称为称为低层低层(Low-level)图形。)图形。1、图形对象、图形对象n把用于数据可视和界面制作的基本绘图把用于数据可视和界面制作的基本绘图要素称为句柄图形对象(要素称为句柄图形对象(Handle graphics object)。)。n每个图形对象可以被独立地操作。每个图形对象可以被独立地操作。n在在MATLAB中生成的
3、每个具体图形都由中生成的每个具体图形都由若干不同对象构成。每个具体图形不必若干不同对象构成。每个具体图形不必包含全部对象,但每个图形必须具备根包含全部对象,但每个图形必须具备根对象(根屏幕)和图形窗。对象(根屏幕)和图形窗。2、对象句柄、对象句柄n每个具体对象都有一个每个具体对象都有一个“与生俱来、终生不变与生俱来、终生不变”的独的独特特“身份(身份(Identifier)”,即句柄(,即句柄(Handle)。)。n句柄是存取图形对象唯一规范识别符。不同对象的句句柄是存取图形对象唯一规范识别符。不同对象的句柄不可能重复和混淆。柄不可能重复和混淆。n每个计算机,根对象只有一个,即屏幕。它的句柄总
4、每个计算机,根对象只有一个,即屏幕。它的句柄总是数字是数字0。而图形窗(。而图形窗(Figure Windows)的句柄总)的句柄总是正整数,它用来标识图形窗的序号。除以上两种对是正整数,它用来标识图形窗的序号。除以上两种对象外,其余对象的句柄则是双精度浮点数。象外,其余对象的句柄则是双精度浮点数。n注意注意:对根屏幕、图形窗对象来说,数字可直接作为:对根屏幕、图形窗对象来说,数字可直接作为调用对象的句柄。但不要企图通过直接输入浮点数,调用对象的句柄。但不要企图通过直接输入浮点数,作为其他对象的句柄;这些对象的句柄只能由相关指作为其他对象的句柄;这些对象的句柄只能由相关指令运作而得。令运作而得
5、。3、句柄图形树结构、句柄图形树结构n在句柄图形体系中,各图形对象并不平在句柄图形体系中,各图形对象并不平等,它们之间的关系可用树结构层次表等,它们之间的关系可用树结构层次表示。示。图形对象的基本要素以根屏幕为先导图形对象之间的关系为父代与子代的关系窗口1窗口n窗口2界面控制界面菜单轴线面字块像根屏幕说明:根根:图形对象的根,对应于计算机屏幕,根只有图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代。一个,其它所有图形对象都是根的后代。图形窗口图形窗口:根的子代,窗口的数目不限,所有图根的子代,窗口的数目不限,所有图形窗口都是根屏幕的子代,除根之外,其它对象形窗口都是根屏
6、幕的子代,除根之外,其它对象则是窗的后代。则是窗的后代。界面控制界面控制:图形窗口的子代,创建用户界面控制图形窗口的子代,创建用户界面控制对象,使得用户可采用鼠标在图形上作功能选择,对象,使得用户可采用鼠标在图形上作功能选择,并返回句柄。并返回句柄。界面菜单界面菜单:图形窗口图形窗口的子代,创建用户界的子代,创建用户界面菜单对象面菜单对象 轴轴:图形窗口的子代,创建轴对象,并返回图形窗口的子代,创建轴对象,并返回句柄,线面字块像的父辈句柄,线面字块像的父辈线线:轴的子代,创建线对象轴的子代,创建线对象面面:轴的子代,创建面对象轴的子代,创建面对象字字:轴的子代,创建字对象轴的子代,创建字对象块
7、块:轴的子代,创建块对象轴的子代,创建块对象像像:轴的子代,创建图像对象轴的子代,创建图像对象4、对象属性、对象属性n所有对象都有一组定义和刻画其外貌和所有对象都有一组定义和刻画其外貌和性状的属性(性状的属性(Properties)。)。n属性由两部分组成:属性名和属性值,属性由两部分组成:属性名和属性值,即二元对(即二元对(Property-Name,Property-Value)n在创建或修改属性的指令中,属性名和在创建或修改属性的指令中,属性名和属性值总是成对出现。属性值总是成对出现。n属性名是英文词组字符串。该英文词组每个属性名是英文词组字符串。该英文词组每个单词的第一个字母大写,而单
8、词间没有空格,单词的第一个字母大写,而单词间没有空格,例如例如LineStyle,ColorMap等。等。n在指令中援引属性名时,为输入方便,在指令中援引属性名时,为输入方便,MATLAB采取了两个采取了两个措施措施:n不分字母大小写,都同样识别;不分字母大小写,都同样识别;n只要不引起歧义,属性名不必写全。比只要不引起歧义,属性名不必写全。比如如lines就代表就代表LineStyle.n不同的属性值将使对象具有不同的表现。不同的属性值将使对象具有不同的表现。5、缺省属性、缺省属性n在创建图形对象时,在创建图形对象时,MATLAB并不需要并不需要对每个属性加以定义。对每个属性加以定义。n若用
9、户不对属性加以定义,若用户不对属性加以定义,MATLAB总总会自动给对象的每个属性赋予会自动给对象的每个属性赋予“厂家定厂家定义(义(Factory-defined)”的属性值。的属性值。n若希望创建具有个性的图形,就需要通若希望创建具有个性的图形,就需要通过指令对某些属性进行定义。属性值的过指令对某些属性进行定义。属性值的这种定义方式称为这种定义方式称为“宗量宗量”赋值方式。赋值方式。6、句柄图形的功能、句柄图形的功能n句柄图形可以随意改变句柄图形可以随意改变matlab生成图形生成图形的方式。的方式。n句柄图形允许你定制图形的许多特性,句柄图形允许你定制图形的许多特性,无论是对图形做一点小
10、改动,还是影响无论是对图形做一点小改动,还是影响所有图形输出的整体改动。所有图形输出的整体改动。n句柄图形的特性高层绘图函数是无法实句柄图形的特性高层绘图函数是无法实现的现的二、图形对象的操作二、图形对象的操作n除根屏幕外,所有图形对象都由与之同名除根屏幕外,所有图形对象都由与之同名的指令创建。的指令创建。创建对象的低层指令(创建对象的低层指令(1)指令名指令名功能功能调用格式举例调用格式举例figure创建图形窗创建图形窗h=figure(n)n为正整数。打开或创建第为正整数。打开或创建第n号图形窗号图形窗axes创建轴创建轴h=axes(position,left,bottom,width
11、,height)定义坐标盒的位置和尺寸定义坐标盒的位置和尺寸line创建线创建线h=line(x,y,z)绘制向量绘制向量x,y,z确定的直线。如果不确定的直线。如果不指定指定z,则在,则在x-y平面上画线平面上画线surface创建面创建面h=surface(x,y,z,c)x,y,z定义三维曲面,定义三维曲面,c是色彩是色彩矩阵。矩阵。创建对象的低层指令(创建对象的低层指令(2)指令名指令名功能功能调用格式举例调用格式举例rectangle 创建方创建方h=rectangle(position,x,y,w,h,curvaturexc,yc)x,y左下顶点坐标,左下顶点坐标,w,h长方形的高
12、和宽;长方形的高和宽;xc,yc曲率曲率patch创建块创建块h=patch(faces,fac,vertices,vert)vert为顶点矩阵,为顶点矩阵,fac为定义多边形的顶点序号矩阵为定义多边形的顶点序号矩阵image创建象创建象h=image(x)x为图像数据矩阵为图像数据矩阵text创建字创建字h=text(x,y,string)x,y指定字符串指定字符串string的标注位置的标注位置light创建光创建光h=light(position,1 0 0)设置入射光的方向。它影响面、块对象的渲染设置入射光的方向。它影响面、块对象的渲染uicontrol创建用户创建用户界面控件界面控件
13、h=uicontrol(property,value)property/value指定界面的控件类型指定界面的控件类型uimenu创建用户创建用户界面菜单界面菜单h=uimenu(property,value)property/value指定图形窗口上方的菜单行式指定图形窗口上方的菜单行式对象句柄的获取方法对象句柄的获取方法n要设置图形对象属性值,首先要知道该对象的要设置图形对象属性值,首先要知道该对象的句柄。句柄。n1、基本方法、基本方法n从图形创建指令获得句柄从图形创建指令获得句柄n追溯法获取图柄追溯法获取图柄n当前对象句柄的获取当前对象句柄的获取n根据对象特性获取句柄根据对象特性获取句柄
14、n根据对象根据对象“诨名诨名”获取句柄获取句柄n2、句柄获取示例、句柄获取示例1、从图形创建指令获得句柄、从图形创建指令获得句柄n所有高层或低层指令(在此用所有高层或低层指令(在此用GraphicCommand表示)都能通过以下格表示)都能通过以下格式产生句柄:式产生句柄:H_GC=GraphicCommand()绘图同时给出句柄的调用指令绘图同时给出句柄的调用指令H_GC。2、追溯法获取图柄、追溯法获取图柄n若一个对象的句柄已知,那么可用如下格式追溯获若一个对象的句柄已知,那么可用如下格式追溯获得其得其“父父”或或“子子”的句柄:的句柄:H_pa=get(H_known,Parent)获取获
15、取H_known句柄对象之句柄对象之“父父”的句柄。的句柄。H_ch=get(H_known,Children)获取获取H_known句柄对象之句柄对象之“子子”的句柄。的句柄。3、当前对象句柄的获取、当前对象句柄的获取nMATLAB有如下三个专用获取图柄的指令:前两个有如下三个专用获取图柄的指令:前两个是直接指令式;后一个必须与鼠标配合使用。是直接指令式;后一个必须与鼠标配合使用。gcf返回当前图形窗口的句柄返回当前图形窗口的句柄gca返回当前轴的句柄返回当前轴的句柄gco返回返回“被鼠标最近点击被鼠标最近点击”的图形对象的句的图形对象的句柄柄4、根据对象特性获取句柄、根据对象特性获取句柄n
16、利用对象特性搜索那对象句柄可以得到较利用对象特性搜索那对象句柄可以得到较高的搜索速度。具体指令如下:高的搜索速度。具体指令如下:H=findobj(H_ori,PN,PV)在在H_ori指定对象上,寻找与属性对(指定对象上,寻找与属性对(PN,PV)匹配的对象句柄匹配的对象句柄5、根据对象、根据对象“诨名诨名”获取句获取句柄柄n可以通过可以通过Tag属性,给对象一个属性,给对象一个“诨名诨名”。此后,就可以通过此后,就可以通过“诨名诨名”获取该对象的句获取该对象的句柄。柄。n设置设置“诨名诨名”的两个方法:的两个方法:n创建时赋名,如创建时赋名,如subplot(3,2,4),plot(x,y
17、,Tag,A4);n用用set赋名,如赋名,如subplot(3,2,4),h=plot(x,y),set(h,Tag,A4)n据诨名获取对象句柄据诨名获取对象句柄:n如果屏幕上有多个图形窗,且有的窗又有多个子图,如果屏幕上有多个图形窗,且有的窗又有多个子图,那么获取带那么获取带“诨名诨名”对象句柄的简便指令是:对象句柄的简便指令是:hax=fidobj(0,Tag,A4)。【例】高层绘图nclf reset;H_mesh=mesh(peaks(20)nH_grand_parent=get(get(H_mesh,Parent),Parent)ndisp(图柄图柄 轴柄轴柄),disp(gcf
18、gca)【例】低层指令绘图nclf reset,t=(0:100)/100*2*pi;nH_line=line(Xdata,t,Ydata,sin(t)ntext(pi,0.8,fontsize14sin(t)nH_c=get(get(H_line,parent),children)nT=get(H_c,Type)【例】findobj指令的使用nclf reset,t=(0:pi/100:2*pi);tt=t*1 1;yy=sin(tt)*diag(0.5 1);nplot(tt,yy),Hb=findobj(gca,Color,b)三、对象属性的获取和设置三、对象属性的获取和设置n创建对象时
19、设置属性创建对象时设置属性nH_GC=GraphicCommand(,PN,PV)利用利用“属性对属性对”设置的绘图指令设置的绘图指令nH_GC=GraphicCommand(,PS)利用利用“构架构架”进行属性设置的绘图指进行属性设置的绘图指令令nget 和和 setn对象属性的缺省设置和查询对象属性的缺省设置和查询n属性查询和设置示例属性查询和设置示例1、get 和和 setnget(H)获取获取H句柄对象所有属性的当前值句柄对象所有属性的当前值nget(H,PN)获取获取H句柄对象由句柄对象由PN所指定属性的当前值所指定属性的当前值nset(H)显示显示H句柄对象的所有可设置属性名和全句
展开阅读全文