版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、技术凝聚实力技术凝聚实力专业创新出版专业创新出版第14章 图形对象和句柄l本书在第12章向读者详细引见了MATLAB的数据可视化功能,即如何经过运用MATLAB的绘图函数和图形绘制窗口绘制用户需求的二维、三维等图形,置信读者经过学习,曾经应该对于“高级绘图的运用有了一定程度的了解。正如笔者提到的一样,MATLAB 7.0中的“高级绘图指令往往不能运用户对于图形绘制了解得很透彻,假设用户需求经过了解“低层绘图指令和图形对象属性开发函数,来对高级绘图指令的构成原理进展深化了解,并绘制出更加个性化的图形,那么读者应该仔细阅读本章。l本章首先简要引见了MATLAB图形对象的相关概念、体系构造等;MAT
2、LAB中需求经过句柄访问和控制图形对象,因此第14.2节讨论对象句柄的概念及其访问;第14.3节引见了MATLAB中对象属性的查询、设置;第14.4-14.5节分别讨论了两类重要的MATLAB图形对象,即窗口对象和轴对象;第14.6节引见了图形输出控制相关的属性设置;第14.7节引见M文件内句柄的存储及MATLAB内建函数对句柄的操作,最后第14.8节对本章进展了小结。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.1 图形对象概述l图形对象Graphics Object是MATLAB 7.0提供应用户的一种用于创建计算机图形的面向对象的图形系统,该系统提供应用户创建线、字、网格、面及图
3、形用户界面GUI,有关内容详见本书第17章的多种3绘图指令。第12章所引见的各种“高级指令都是以图形对象为根底生成的,所以图形对象也称为低层图形。低层指令的调用,没有高层指令那样简明明晰、通俗易懂,但是低层指令可以直接对图形的根本要素进展操作的特点决议了运用者可以让绘制的图形更加个性化,更加具有表现力。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.1.1 图形对象的体系构造l图形对象是MATLAB中用来显示数据和创建GUI的根本绘图元素,对象的每个实例instance都对应独一的标识符Identifier,此标识符称为对象的句柄handle,句柄由系统设定,用户不能改动。用户可以利用句
4、柄轻松地操作现有图形的各项特征,即设置对象属性。lMATLAB的图形对象体系构造中包含各种具有承继关系的对象,其关系有“父子从属关系和“兄弟平行关系两种,详细如图14.1所示。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.1.2 图形对象的类型l本小节主要是在14.1.1节的根底上向用户详细引见各种类型的图形对象。l1根对象。l2图形窗口对象Figure。l3用户界面对象UI objects。用户界面对象是图形窗口对象的一个子对象,其用来创建用户界面的假设干相关图形。l4轴对象Axes。轴对象和用户界面对象是平行的兄弟关系。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.1.3
5、MATLAB中对象的属性lMATLAB中各级对象的属性控制其各种外观和显示特性。对象的属性包括公共属性如对象类型、父、子对象、能否可见等和不同类型对象的特有属性。例如,经过任何给定的图形对象,用户可以获取窗口中的最后击键、鼠标指针位置,或是最后选中的菜单句柄。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.2 访问对象句柄lMATLAB中创建的任何对象都由系统赋予一个句柄,一切构造函数的前往值即为其所创建对象的句柄。l14.1.3节曾经向读者引见了对于对象属性的查询和设置,读者已了解到,假设需求做到对于对象属性的操作查询或设置,那么必需在对象创建之初就将其句柄保管在变量中,作为预备;假设
6、用户觉得这样比较烦琐,或者偶尔忘记了保管,那么还可以调用findobj函数或罗列其父对象的Children属性来获取现有对象的句柄。l读者应该很清楚,根对象的句柄为0,而其子对象,图形窗口对象的句柄普通有两种情况:l整数:默许显示在窗口标题栏中;l浮点数:具有完全的MATLAB内部精度。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.2.1 获取当前对象的句柄lMATLAB中,有关句柄图形的一个极为重要的概念是当前性Be Current。例如,当前的窗口即为接受绘制函数输出的窗口;当前的坐标轴就是创建坐标轴子对象的命令输出目的坐标轴;而当前的图形对象那么为最后创建的图形对象,或被用户用鼠
7、标点击选中的图形对象。l用户可以直接把调用绘图函数的前往值存放在一个变量中,那么这个变量就是相应图形的句柄。l另外一种获取当前对象句柄的常用方法是调用get函数, get函数的调用格式和功能系统地论述如下。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.2.2 调用findobj函数经过属性值查询对象lMATLAB提供应用户findobj函数,用于经过对属性值的搜索来查询对象句柄。findobj函数可以快速构成一个构造层次的截面并获得具有指定属性值的对象句柄,假设用户没有指定起始对象,那么系统默许findobj函数从Root对象开场,搜索与用户指定属性名和属性值相符的一切对象。l用户希望
8、将字符串sin(t)=.707从当前位置点pi/4,sin(pi/4)挪动到点3*pi/4,sin(3*pi/4),这两个位置点的函数值一样。为了实现挪动操作,用户首先要获得字对象的句柄,然后经过运用这个获得的句柄修正字对象的属性Position。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.2.3 运用句柄操作对象l本节主要讲解如何利用句柄,完成对于对象的复制和删除操作。l1调用copyobj函数复制对象。l用户利用MATLAB中的copyobj函数,可以将对象a1从其父对象中复制到另一个对象中,生成新的对象a2,那么a1和a2的区别有2点:l父对象不同;l对象句柄不同。l2调用de
9、lete函数删除对象。MATLAB中,用户可以运用delete函数,删除一个对象,其参数是此对象的句柄。例如,用户可以需求删除当前的坐标轴,代码如下:ldelete(gca)技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.3 设置和访问MATLAB对象属性lMATLAB提供了set和get两个函数,分别可以运用户设置和前往现有图形对象的属性值。利用这两个函数,还可以列出详细固定设置的属性的一切值。两个函数的根本调用格式如下:lset(object_handle,PropertyName,NewPropertyValue);lreturned_value=get(object_handle
10、,PropertyName)。l以上两函数调用格式中,object_handle代表对象句柄,PropertyName代表属性称号,NewPropertyValue代表用户设置的属性值。l留意:函数调用格式中的属性称号为援用的字符串,而属性值那么根据与不同的属性而变换类型。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.3.1 设置属性值l调用set函数,并利用对象的前往句柄,用户可以设置现有对象的属性,例如,下面的代码将y轴挪动到图形的当前坐标系的左边。lset(gca,YAxisLocation,left)l假设句柄参数是一个矢量,那么MATLAB将一切标识的对象均进展属性的设置。用
11、户还可以运用构架和元胞数组设置属性称号和属性值,这在设置多个对象的一样属性时非常奏效。lview1.CameraViewAngleMode = manual;lview1.DataAspectRatio = 1 1 1;lview1.ProjectionType = Perspective;技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.3.2 查询属性值lMATLAB中,用户可以调用get函数来查询对象属性的当前值。l1单个属性值的查询:调用get函数获取对象属性,用户可以得到该属性中的一切数据 l2前往构架:假设用户将get函数的前往值赋给一个变量,那么MATLAB将创建一个构架数组
12、。 l3查询属性组:用户也可以首先定义属性称号的元胞数组,然后便利地获取相应的属性值。 技术凝聚实力技术凝聚实力专业创新出版专业创新出版 14.3.3 默许属性l以上两小节,向读者引见了如何设置和查询MATLAB中对象的属性,实践上,MATLAB中的一切对象属性都有系统内建的默许值,即出厂设置值;当然,用户也可以自行定义任何一个MATLAB对象的默许属性值。 技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.4 图形窗口对象lMATLAB图形窗口对象是用于显示MATLAB中图形输出的窗口,所以图形窗口对象的属性可以决议输出窗口的多种特征。本节主要引见图形窗口对象的属性设置,这些属性与窗口的
13、大小、位置、颜色、曲线绘制方式及指正款式有关。 技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.4.1 设置图形窗口的位置属性l图形窗口对象的位置Position属性决议图形窗口在屏幕上的大小和位置,位置属性的默许设置是:图形大小是屏幕大小的1/4,且位于上半屏幕的中间位置。在MATLAB中,图形窗口的位置属性是一个矢量:left bottom width height。其中left和bottom确定窗口左下角的位置,而width和height分别确定窗口的宽和高,如下图。 技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.4.2 设置图形窗口的颜色属性l颜色属性关系到MATLAB运
14、用系统颜色资源的方式,用户对颜色属性的设置,将影响图形窗口子对象的绘制上色速度和准确度。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.4.3 图像窗口的绘制方式lMATLAB允许用户选择不同的方式来绘制图形,方式的选择主要取决于所绘制图形的类型。决议MATLAB绘制图形的方式有下面4种。lBackingStore:当图形被遮挡部分显显露来时,确定能否重绘。lDoubleBuffer:为简单动画生成渲染效果。lRenderer和RendererMode:指定不同的渲染方法,或由MATLAB选择。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.4.4 定制图形窗口的光标l除了对绘制方
15、式的选择,MATLAB还提供了多种指针符号,供用户选择。在图形窗口中,图形符号表示指针位置,用户可以选择系统预定义的15种指针符号,也可以自行设置指针符号。指针符号的属性值、标识及详细功能,技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.5 轴对象l轴对象是图形窗口对象的子对象,也是众多重要对象的父对象参看第14.1节,在图形对象的构造中,是非常重要的一环。轴对象的属性众多,功能主要为控制图像各方面信息的显示。本节就其重要的属性进展引见。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.5.1 设置轴对象的位置属性l同图形窗口对象一样,轴对象的几何属性分别是位置属性“Position
16、和单位属性“Units,决议了轴对象在图形窗口对象中的位置、大小和轴对象的单位。l值得读者留意的是,这些属性与图形窗口对象有不同之处。l在图形是二维曲线时,轴位框和坐标框两者完全重合,技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.5.2 设置轴对象的刻度、刻度标志及坐标轴方向属性l本节以一个实例讲解单轴对象控制刻度、刻度标志及坐标轴方向的属性。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.5.3 轴对象的多轴重叠l本书在第12章中曾引见过的subplot函数可以完成单图多轴的绘制,运用subplot函数可把一个图形窗口按位置等分成多个“子块,分别在每一部分绘制独立的图形。l在此
17、根底上,本小节讲解轴对象的“多轴重叠属性,即允许用户在一个图形窗口对象中绘制多个重叠轴对象。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.5.4 轴对象的自动方式属性l自动方式属性Automatic-Mode Properties又常被称为“照相机属性。用户可以在轴对象属性的根底上设置MATLAB照相机属性,MATLAB照相机属性如表所示。技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.6 控制图形输出l本书在以前的章节多次提到,MATLAB允许用户同时翻开多个绘图窗口,但是,当前窗口只能有一个,也就是说虽然用户翻开的窗口不止一个,但系统运转的结果输出只能显示在众多窗口中的一个中
18、,那么如何运用句柄保证输出的窗口是用户指定的窗口,而同时保证其他窗口不受输出结果的影响,这就是本节要主要引见的问题。 技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.6.1 定制图形输出的窗口l在默许情况下,创建图形对象的MATLAB函数把结果显示在当前图形窗口对象和轴对象上图形对象是以轴对象的子对象为前提,用户也可以经过创建函数明确地指定其父对象属性,来使输出到用户需求的父对象中,例如以下代码。lplot(1:10,Parent,axes_handle)l以上代码中,用户指定了axes_handle为输出目的轴对象的句柄。另外,uicontrol和uimenu函数提供一种更加简便的调用
19、格式,即第一个参数就是指定目的父对象的称号,例如以下代码。luicontrol(Figure_handle,.)luimenu(parent_menu_handle,.)技术凝聚实力技术凝聚实力专业创新出版专业创新出版14.6.2 定制图形输出的轴l默许情况下,图形绘制函数将输出的图形对象直接显示在当前的图形窗口中,而并不去除或重设图形窗口的属性。但是,假设图形对象是轴对象的子对象,MATLAB在显示图形对象之前,会将绝大多数的轴对象属性设置为其默许设置。用户可以经过改动图形窗口对象和轴对象的NextPlot属性来改动MATLAB的此种默许设置。在MATLAB 7.0中,高级绘图函数在绘制图形之前首先要检查NextPlot属性,然后决议是直接添加图形还是擦除重置图形窗口对象和轴对象;而低级对象创建函数那么不检查NextPlot的属性,只是进展简单地添加图形
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国酒店清洁用品市场供需现状与投资前景评估报告
- 2025-2030全球及中国住房租赁市场现状动态监测及发展潜力评估研究报告(-版)
- 2025-2030潘多拉智能家居行业市场供需调研及投资收益规划分析研究报告
- 2025-2030湘菜速冻食品技术突破与市场扩容预测
- 2025-2030消防救援无人机巡检系统技术应用与高空作业安全研究
- 2025-2030消防安全检测行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030消费级AR眼镜光学显示方案选型与消费行为习惯培育策略
- 2025-2030消费级3D打印设备市场教育阶段与增长潜力评估
- 2025-2030消费电子镁合金外壳材料压铸缺陷控制与表面处理方案
- 2025-2030消费电子显示模块市场需求分析及显示器件投资高新技术
- 儿童心律失常诊疗指南(2025年版)
- 北京通州产业服务有限公司招聘备考题库必考题
- 2026南水北调东线山东干线有限责任公司人才招聘8人笔试模拟试题及答案解析
- 伊利实业集团招聘笔试题库2026
- 2026年基金从业资格证考试题库500道含答案(完整版)
- 动量守恒定律(教学设计)-2025-2026学年高二物理上册人教版选择性必修第一册
- 网络素养与自律主题班会
- 波形护栏工程施工组织设计方案
- 非静脉曲张性上消化道出血管理指南解读课件
- 内窥镜护理不良事件分析与防范措施
- 糖代谢紊乱生物化学检验
评论
0/150
提交评论