matlab数据可视化课件

上传人:我*** 文档编号:145043043 上传时间:2020-09-15 格式:PPT 页数:32 大小:285.50KB
返回 下载 相关 举报
matlab数据可视化课件_第1页
第1页 / 共32页
matlab数据可视化课件_第2页
第2页 / 共32页
matlab数据可视化课件_第3页
第3页 / 共32页
matlab数据可视化课件_第4页
第4页 / 共32页
matlab数据可视化课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《matlab数据可视化课件》由会员分享,可在线阅读,更多相关《matlab数据可视化课件(32页珍藏版)》请在金锄头文库上搜索。

1、第五章 高级图形处理功能,Matlab程序设计,一、图形对象与句柄,句柄图形(Handle Graphics)是一种面象对象的绘图系统。该系统提供创建计算机图形所必需的各种软件。它所支持的指令,可直接创建线、文字、网线、面以及图形用户界面。 上一章所介绍的各种MATLAB高层(High-level)图形指令(如plot,mesh)都是以句柄图形软件为基础写成的。也正是这个原因,句柄图形也被称为低层(Low-level)图形。,(一)句柄图形体系,Matlab程序设计,图形对象、对象句柄、属性,1、图形对象 把用于数据可视化和界面制作的基本绘图要素称为句柄图形对象(Handle graphics

2、 object)。 构成MATLAB句柄图形体系的有13个图形对象。 每个图形对象可以被独立地操作。 在MATLAB中生成的每个具体图形都由若干不同对象构成。每个具体图形不必包含全部对象,但每个图形必须具备根对象(根屏幕)和图形窗。,Matlab程序设计,Root,Figure,Matlab程序设计,2、对象句柄,每个具体对象都有一个“与生俱来、终生不变”的独特“身份(Identifier)”,即句柄(Handle)。 句柄是存取图形对象唯一规范识别符。不同对象的句柄不可能重复和混淆。 每个计算机,根对象只有一个,即屏幕。它的句柄总是数字0。而图形窗(Figure Windows)的句柄总是正

3、整数,它用来标识图形窗的序号。除以上两种对象外,其余对象的句柄则是双精度浮点数。 注意:对根屏幕、图形窗对象来说,数字可直接作为调用对象的句柄。但不要企图通过直接输入浮点数,作为其他对象的句柄;这些对象的句柄只能由相关指令运作而得。,Matlab程序设计,对象属性,1、属性: 所有对象都有一组定义和刻画其外貌和性状的属性。 属性由两部分组成:属性名和属性值。 在创建或修改属性的指令中,属性名和属性值总是成对出现。 属性名是英文词组字符串。该英文词组每个单词的第一个字母大写,而单词间没有空格,例如LineStyle和ColorMap等。 在指令中援引属性名时,为输入方便,MATLAB采取了两个措

4、施: 不分字母大小写,都同样识别; 只要不引起歧义,属性名不必写全。比如lines就代表LineStyle. 不同的属性值将使对象具有不同的表现。,Matlab程序设计,2、缺省属性,在创建图形对象时,MATLAB并不需要对每个属性加以定义。 若用户不对属性加以定义,MATLAB总会自动给对象的每个属性赋予“厂家定义(Factory-defined)”的属性值。 若希望创建具有个性的图形,就需要通过指令对某些属性进行定义。属性值的这种定义方式称为“宗量”赋值方式。,Matlab程序设计,图形对象的操作,除根屏幕外,所有图形对象都由与之同名的指令创建。,Matlab程序设计,Matlab程序设计

5、,对象句柄的获取方法,要设置图形对象属性值,首先要知道该对象的句柄。 基本方法 从图形创建指令获得句柄 追溯法获取图柄 当前对象句柄的获取 根据对象特性获取句柄 根据对象“诨名”获取句柄,Matlab程序设计,1 从图形创建指令获得句柄,所有高层或低层指令都能通过以下格式产生句柄: H_GC= GraphicCommand() 绘图同时给出句柄的调用指令H_GC。,Matlab程序设计,2 追溯法获取图柄,若一个对象的句柄已知,那么可用如下格式追溯获得其“父”或“子”的句柄: H_pa= get(H_known,Parent) 获取H_known句柄对象之“父”的句柄。 H_ch= get(H

6、_known,Children) 获取H_known句柄对象之“子”的句柄。,Matlab程序设计,3 当前对象句柄的获取,MATLAB有如下三个专用获取图柄的指令: gcf返回当前图形窗口的句柄 =get(0,CurrentFigure) gca返回当前轴的句柄 =get(get(0,CurrentFigure), CurrentAxes) gco返回“被鼠标最近点击”的图形对象的句柄 =get(get(0,CurrentFigure), CurrentObject) 前两个是直接指令式; 后一个必须与鼠标配合使用。,Matlab程序设计,4 根据对象特性获取句柄,利用对象特性搜索那对象句柄

7、可以得到较高的搜索速度。,H = FINDOBJ(P1Name,P1Value,.)返回在所有对象层中那些符合特定条件的对象的句柄值。,H = FINDOBJ(ObjectHandles, P1Name, P1Value,.)返回在ObjectHandles所对应的句柄对象及其子对象中那些符合条件的对象的句柄值。,H = FINDOBJ(ObjectHandles, flat, P1Name, P1Value,.)只返回在Objecthandles所对应的句柄对象中那些符合特定条件的句柄值。,Matlab程序设计,4 根据对象特性获取句柄,H = FINDOBJ返回根对象和其所有子对象的句柄值

8、,H = FINDOBJ(ObjectHandles)返回ObjectHandels对应的句柄对象及其所有子对象的句柄值,利用对象特性搜索那对象句柄可以得到较高的搜索速度。,Matlab程序设计,5 根据对象“诨名”获取句柄,可以通过Tag属性,给对象一个“诨名”。此后,就可以通过 “诨名”获取该对象的句柄。 设置“诨名”的两个方法: 创建时赋名,如subplot(3,2,4),plot(x,y,Tag,A4); 用set赋名,如subplot(3,2,4),h=plot(x,y),set(h,Tag,A4) 据诨名获取对象句柄: 如果屏幕上有多个图形窗,且有的窗又有多个子图,那么获取带“诨名

9、”对象句柄的简便指令是: hax=fidobj(0,Tag,A4)。,Matlab程序设计,图形对象操作,C = copyobj(H,P),1)H和P都是向量,2)H是向量,P是标量,3)P是向量,H是标量,Copyobj: 复制图形对象及其子对象。,DELETE(H):删除图形对象,RESET(H):恢复图形对象所有属性值为默认值,position除外。,Matlab程序设计,对象属性的获取和设置,创建对象时设置属性 H_GC=GraphicCommand(,PN,PV) 利用“属性对”设置的绘图指令 H_GC=GraphicCommand(,PS) 利用“构架”进行属性设置的绘图指令 ge

10、t 和 set 对象属性的缺省设置和查询 属性查询和设置示例,Matlab程序设计,get 和 set,get(H)获取H句柄对象所有属性的当前值 get(H,PN)获取H句柄对象由PN所指定属性的当前值 set(H) 显示H句柄对象的所有可设置属性名和全部供选属性值 set(H,PN) 显示H句柄对象PN指定属性名的全部供选属性值 set(H,PN,PV,) 设置H句柄对象的PN属性名取PV属性值 set(H,PS) 利用构架数组设置H的属性值,Matlab程序设计,对象属性的缺省设置和查询,get(H,DefaultObjectTypeObjectProperty) 获取缺省值 set(H

11、,DefaultObjectTypeObjectProperty,propertyValue) 设置“用户定义”缺省值 set(H,DefaultObjectTypeObjectProperty,remove) 删除“用户定义”缺省值,Matlab程序设计,三维图形的精细控制,视点控制 色彩控制 照明和材质处理,Matlab程序设计,(一)视点控制,改变观察点是获得较好三维视觉效果的一个重要途径。 view(az,el)通过方位角、俯视角设置视点 view(vx,vy,vz)通过直角坐标设置视点 view(3)/view(2) az,el = view 返回当前的方位角和仰角 说明: 指令中,

12、az是方位角(Azimuth),el是俯视角(Elevation)。它们的单位是“度”。vx,vy,vz是视点的直角坐标。 若绘制三维图形时,不使用 view指令,那么MATLAB将使用缺省的视点设置:az=-37.5, el=30。当az=0, el=90时,图形将以习惯的平面直角坐标表现。 MATLAB图形窗可交互式调节视点。为获得最佳视觉效果,用户先通过鼠标操作调节视点,然后再用指令view把相应的试点加以固定。,Matlab程序设计,(二)色彩控制,用色风格colordef 浓淡处理shading 透明度控制 alpha,Matlab程序设计,用色风格,colordef options

13、 对根屏幕上的所有子对象设置缺省值 colordef(fig,options) 对图形窗fig上的所有子对象设置缺省值 h=colordef(new,options) 对新图形窗上的所有子对象设置缺省值,White Black none,Matlab程序设计,whitebg 使当前图形窗上“轴”的背景色在黑白间切换 whitebg(fig) 使指定图形窗上“轴”的背景色在黑白间切换 whitebg(C) 使当前图形窗上“轴”的背景色变为指定的颜色 说明: MATLAB默认的“轴背景色”为white。 Options的取值及缺省设置见下表:,用色风格,Matlab程序设计,Matlab程序设计,

14、透明度控制 alpha,alpha(v)对面、块、象三种图形对象的透明度加以控制 说明: v可以取0到1之间的数值。1表示完全不透明,0表示完全透明。 本指令对mesh,surf,slice等高层指令都适用。,Matlab程序设计,(三)照明和材质处理,灯光light 照明模式lighting 控制光效果的材质指令material,Matlab程序设计,灯光light,light(color,option1,style,option2,position,option3)灯光设置 说明: 在该指令使用前,图形采用的是等强度各处相等的漫射光。一旦该指令被执行,虽然光源本身并不出现,但图形上“轴”、

15、“面”等子对象所有与光有关的属性(如背景光、边缘光)都被激活。 假如该指令不包含任何输入宗量,则采用缺省设置:白光、无穷远、穿过1,0,1射向坐标原点。 任何一个输入宗量对都可缺省,此时采用缺省设置。 option1可采用RGB三元组或相应的色彩字符,如1 0 0或r都代表红光。 option2有两个取值:infinite和local。前者表示无穷远光,后者为近光。 option3总为直角坐标的三元组形式。对远光,它表示光线穿过该点射向原点;对近光,它表示光源所在位置。,Matlab程序设计,照明模式lighting,lighting options设置照明模式 说明: 该指令只有在light

16、指令执行后才起作用。 options有以下四种取值: flat射入光均匀洒落在图象对象的每个面上,主要与facted配用。它是缺省模式。 gouraund先对顶点颜色插补,再对顶点勾画的面色进行插补。用于曲面表现。 phong对顶点处法线插值,再计算个像素的反光。表现效果最好,但费时较多。 none使所有光源关闭。,Matlab程序设计,控制光效果的材质指令material,material options使用预定义反射模式 说明: 为用户使用方便,MATLAB提供了四种预定义表面反射模式,即的options取值: shiny使对象比较明亮。镜反射份额较大,反射光颜色仅取决于光源颜色。 dull使对象比较暗淡。漫反射份额较大,没有镜面亮点,反射光颜色仅取决于光源颜色。 使对象带金属光泽。镜反射份额很大,背景光metal和漫射光份额很小。反射光源和图形表面两者的颜色。该模式为缺省模式。 default返回缺省设置模式,Matlab程序设计,三、其他图形处理技术,图像 在MATLAB中,图像通常由数据矩阵和色图矩阵组成。

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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