资源描述:
《《matlab数据可视化》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章高级图形处理功能Matlab程序设计一、图形对象与句柄句柄图形(HandleGraphics)是一种面象对象的绘图系统。该系统提供创建计算机图形所必需的各种软件。它所支持的指令,可直接创建线、文字、网线、面以及图形用户界面。上一章所介绍的各种MATLAB高层(High-level)图形指令(如plot,mesh)都是以句柄图形软件为基础写成的。也正是这个原因,句柄图形也被称为低层(Low-level)图形。(一)句柄图形体系Matlab程序设计图形对象、对象句柄、属性1、图形对象把用于数据可视化和界面制作的
2、基本绘图要素称为句柄图形对象(Handlegraphicsobject)。构成MATLAB句柄图形体系的有13个图形对象。每个图形对象可以被独立地操作。在MATLAB中生成的每个具体图形都由若干不同对象构成。每个具体图形不必包含全部对象,但每个图形必须具备根对象(根屏幕)和图形窗。Matlab程序设计RootFigureAxesUicontrolUimenuUicontextmenuImageLightLinePatchRectangleSurfaceTextMatlab程序设计2、对象句柄每个具体对象都有一个“
3、与生俱来、终生不变”的独特“身份(Identifier)”,即句柄(Handle)。句柄是存取图形对象唯一规范识别符。不同对象的句柄不可能重复和混淆。每个计算机,根对象只有一个,即屏幕。它的句柄总是数字0。而图形窗(FigureWindows)的句柄总是正整数,它用来标识图形窗的序号。除以上两种对象外,其余对象的句柄则是双精度浮点数。注意:对根屏幕、图形窗对象来说,数字可直接作为调用对象的句柄。但不要企图通过直接输入浮点数,作为其他对象的句柄;这些对象的句柄只能由相关指令运作而得。Matlab程序设计对象属性1、
4、属性:所有对象都有一组定义和刻画其外貌和性状的属性。属性由两部分组成:属性名和属性值。在创建或修改属性的指令中,属性名和属性值总是成对出现。属性名是英文词组字符串。该英文词组每个单词的第一个字母大写,而单词间没有空格,例如’LineStyle’和’ColorMap’等。在指令中援引属性名时,为输入方便,MATLAB采取了两个措施:不分字母大小写,都同样识别;只要不引起歧义,属性名不必写全。比如’lines’就代表’LineStyle’.不同的属性值将使对象具有不同的表现。Matlab程序设计2、缺省属性在创建图形
5、对象时,MATLAB并不需要对每个属性加以定义。若用户不对属性加以定义,MATLAB总会自动给对象的每个属性赋予“厂家定义(Factory-defined)”的属性值。若希望创建具有个性的图形,就需要通过指令对某些属性进行定义。属性值的这种定义方式称为“宗量”赋值方式。Matlab程序设计图形对象的操作除根屏幕外,所有图形对象都由与之同名的指令创建。指令名功能调用格式举例figure创建图形窗h=figure(n)n为正整数。打开或创建第n号图形窗axes创建轴h=axes(‘position’,[left,bo
6、ttom,width,height])定义坐标盒的位置和尺寸line创建线h=line(x,y,z)绘制向量x,y,z确定的直线。如果不指定z,则在x-y平面上画线surface创建面h=surface(x,y,z,c)x,y,z定义三维曲面,c是色彩矩阵。Matlab程序设计指令名功能调用格式举例rectangle创建矩形h=rectangle(’position’,[x,y,w,h],’curvature’[xc,yc])x,y左下顶点坐标,w,h长方形的高和宽;xc,yc曲率patch创建块h=patch(
7、’faces’,fac,’vertices’,vert)vert为顶点矩阵,fac为定义多边形的顶点序号矩阵image创建图象h=image(x)x为图像数据矩阵text创建字h=text(x,y,’string’)x,y指定字符串string的标注位置light创建光h=light(’position’,[100])设置入射光的方向。它影响面、块对象的渲染uicontrol创建用户界面控件h=uicontrol(’property’,value)property/value指定界面的控件类型uimenu创建用户
8、界面菜单h=uimenu(’property’,value)property/value指定图形窗口上方的菜单行式Matlab程序设计对象句柄的获取方法要设置图形对象属性值,首先要知道该对象的句柄。基本方法从图形创建指令获得句柄追溯法获取图柄当前对象句柄的获取根据对象特性获取句柄根据对象“诨名”获取句柄Matlab程序设计1从图形创建指令获得句柄所有高层或低层指令都能通过