![第14章__MATLAB7[1].0_图形对象和句柄.ppt_第1页](http://file.renrendoc.com/FileRoot1/2020-1/16/c972e04b-92f5-4992-b776-7fd309e4b8de/c972e04b-92f5-4992-b776-7fd309e4b8de1.gif)
![第14章__MATLAB7[1].0_图形对象和句柄.ppt_第2页](http://file.renrendoc.com/FileRoot1/2020-1/16/c972e04b-92f5-4992-b776-7fd309e4b8de/c972e04b-92f5-4992-b776-7fd309e4b8de2.gif)
![第14章__MATLAB7[1].0_图形对象和句柄.ppt_第3页](http://file.renrendoc.com/FileRoot1/2020-1/16/c972e04b-92f5-4992-b776-7fd309e4b8de/c972e04b-92f5-4992-b776-7fd309e4b8de3.gif)
![第14章__MATLAB7[1].0_图形对象和句柄.ppt_第4页](http://file.renrendoc.com/FileRoot1/2020-1/16/c972e04b-92f5-4992-b776-7fd309e4b8de/c972e04b-92f5-4992-b776-7fd309e4b8de4.gif)
![第14章__MATLAB7[1].0_图形对象和句柄.ppt_第5页](http://file.renrendoc.com/FileRoot1/2020-1/16/c972e04b-92f5-4992-b776-7fd309e4b8de/c972e04b-92f5-4992-b776-7fd309e4b8de5.gif)
已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14章图形对象和句柄 本书在第12章向读者详细介绍了MATLAB的数据可视化功能 即如何通过运用MATLAB的绘图函数和图形绘制窗口绘制用户需要的二维 三维等图形 相信读者通过学习 已经应该对于 高级 绘图的运用有了一定程度的了解 正如笔者提到的一样 MATLAB7 0中的 高级 绘图指令往往不能使用户对于图形绘制了解得很透彻 如果用户需要通过了解 低层 绘图指令和图形对象属性开发函数 来对高级绘图指令的形成原理进行深入理解 并绘制出更加个性化的图形 那么读者应该仔细阅读本章 本章首先简要介绍了MATLAB图形对象的相关概念 体系结构等 MATLAB中需要通过句柄访问和控制图形对象 因此第14 2节讨论对象句柄的概念及其访问 第14 3节介绍了MATLAB中对象属性的查询 设置 第14 4 14 5节分别讨论了两类重要的MATLAB图形对象 即窗口对象和轴对象 第14 6节介绍了图形输出控制相关的属性设置 第14 7节介绍M文件内句柄的存储及MATLAB内建函数对句柄的操作 最后第14 8节对本章进行了小结 14 1图形对象概述 图形对象 GraphicsObject 是MATLAB7 0提供给用户的一种用于创建计算机图形的面向对象的图形系统 该系统提供给用户创建线 字 网格 面及图形用户界面 GUI 有关内容详见本书第17章 的多种3绘图指令 第12章所介绍的各种 高级 指令都是以图形对象为基础生成的 所以图形对象也称为低层图形 低层指令的调用 没有高层指令那样简明清晰 通俗易懂 但是低层指令可以直接对图形的基本要素进行操作的特点决定了使用者可以让绘制的图形更加个性化 更加具有表现力 14 1 1图形对象的体系结构 图形对象是MATLAB中用来显示数据和创建GUI的基本绘图元素 对象的每个实例 instance 都对应唯一的标识符 Identifier 此标识符称为对象的句柄 handle 句柄由系统设定 用户不能改变 用户可以利用句柄轻松地操作现有图形的各项特征 即设置对象属性 MATLAB的图形对象体系结构中包含各种具有继承关系的对象 其关系有 父子 从属 关系和 兄弟 平行 关系两种 具体如图14 1所示 14 1 2图形对象的类型 本小节主要是在14 1 1节的基础上向用户详细介绍各种类型的图形对象 1 根对象 2 图形窗口对象 Figure 3 用户界面对象 UIobjects 用户界面对象是图形窗口对象的一个子对象 其用来创建用户界面的若干相关图形 4 轴对象 Axes 轴对象和用户界面对象是平行的兄弟关系 14 1 3MATLAB中对象的属性 MATLAB中各级对象的属性控制其各种外观和显示特性 对象的属性包括公共属性 如对象类型 父 子对象 是否可见等 和不同类型对象的特有属性 例如 通过任何给定的图形对象 用户可以获取窗口中的最后击键 鼠标指针位置 或是最后选中的菜单句柄 14 2访问对象句柄 MATLAB中创建的任何对象都由系统赋予一个句柄 所有构造函数的返回值即为其所创建对象的句柄 14 1 3节已经向读者介绍了对于对象属性的查询和设置 读者已了解到 如果需要做到对于对象属性的操作 查询或设置 则必须在对象创建之初就将其句柄保存在变量中 作为准备 如果用户觉得这样比较烦琐 或者偶尔忘记了保存 则还可以调用findobj函数或罗列其父对象的Children属性来获取现有对象的句柄 读者应该很清楚 根对象的句柄为0 而其子对象 图形窗口对象的句柄一般有两种情况 整数 默认显示在窗口标题栏中 浮点数 具有完全的MATLAB内部精度 14 2 1获取当前对象的句柄 MATLAB中 有关句柄图形的一个极为重要的概念是当前性 BeCurrent 例如 当前的窗口即为接受绘制函数输出的窗口 当前的坐标轴就是创建坐标轴子对象的命令输出目标坐标轴 而当前的图形对象则为最后创建的图形对象 或被用户用鼠标点击选中的图形对象 用户可以直接把调用绘图函数的返回值存放在一个变量中 那么这个变量就是相应图形的句柄 另外一种获取当前对象句柄的常用方法是调用get函数 get函数的调用格式和功能系统地阐述如下 14 2 2调用findobj函数通过属性值查询对象 MATLAB提供给用户findobj函数 用于通过对属性值的搜索来查询对象句柄 findobj函数可以快速形成一个结构层次的截面并获得具有指定属性值的对象句柄 如果用户没有指定起始对象 那么系统默认findobj函数从Root对象开始 搜索与用户指定属性名和属性值相符的所有对象 用户希望将字符串 sin t 707 从当前位置点 pi 4 sin pi 4 移动到点 3 pi 4 sin 3 pi 4 这两个位置点的函数值相同 为了实现移动操作 用户首先要获得字对象的句柄 然后通过使用这个获得的句柄修改字对象的属性Position 14 2 3使用句柄操作对象 本节主要讲解如何利用句柄 完成对于对象的复制和删除操作 1 调用copyobj函数复制对象 用户利用MATLAB中的copyobj函数 可以将对象a1从其父对象中复制到另一个对象中 生成新的对象a2 则a1和a2的区别有2点 父对象不同 对象句柄不同 2 调用delete函数删除对象 MATLAB中 用户可以使用delete函数 删除一个对象 其参数是此对象的句柄 例如 用户可以需要删除当前的坐标轴 代码如下 delete gca 14 3设置和访问MATLAB对象属性 MATLAB提供了set和get两个函数 分别可以使用户设置和返回现有图形对象的属性值 利用这两个函数 还可以列出具体固定设置的属性的所有值 两个函数的基本调用格式如下 set object handle PropertyName NewPropertyValue returned value get object handle PropertyName 以上两函数调用格式中 object handle代表对象句柄 PropertyName 代表属性名称 NewPropertyValue 代表用户设置的属性值 注意 函数调用格式中的属性名称为引用的字符串 而属性值则根据与不同的属性而变换类型 14 3 1设置属性值 调用set函数 并利用对象的返回句柄 用户可以设置现有对象的属性 例如 下面的代码将y轴移动到图形的当前坐标系的左边 set gca YAxisLocation left 如果句柄参数是一个矢量 则MATLAB将所有标识的对象均进行属性的设置 用户还可以运用构架和元胞数组设置属性名称和属性值 这在设置多个对象的相同属性时非常奏效 view1 CameraViewAngleMode manual view1 DataAspectRatio 111 view1 ProjectionType Perspective 14 3 2查询属性值 MATLAB中 用户可以调用get函数来查询对象属性的当前值 1 单个属性值的查询 调用get函数获取对象属性 用户可以得到该属性中的所有数据 2 返回构架 如果用户将get函数的返回值赋给一个变量 那么MATLAB将创建一个构架数组 3 查询属性组 用户也可以首先定义属性名称的元胞数组 然后便捷地获取相应的属性值 14 3 3默认属性 以上两小节 向读者介绍了如何设置和查询MATLAB中对象的属性 实际上 MATLAB中的所有对象属性都有系统内建的默认值 即出厂设置值 当然 用户也可以自行定义任何一个MATLAB对象的默认属性值 14 4图形窗口对象 MATLAB图形窗口对象是用于显示MATLAB中图形输出的窗口 所以图形窗口对象的属性可以决定输出窗口的多种特征 本节主要介绍图形窗口对象的属性设置 这些属性与窗口的大小 位置 色彩 曲线绘制方式及指正样式有关 14 4 1设置图形窗口的位置属性 图形窗口对象的位置 Position 属性决定图形窗口在屏幕上的大小和位置 位置属性的默认设置是 图形大小是屏幕大小的1 4 且位于上半屏幕的中间位置 在MATLAB中 图形窗口的位置属性是一个矢量 leftbottomwidthheight 其中left和bottom确定窗口左下角的位置 而width和height分别确定窗口的宽和高 如图所示 14 4 2设置图形窗口的色彩属性 色彩属性关系到MATLAB使用系统色彩资源的方式 用户对色彩属性的设置 将影响图形窗口子对象的绘制上色速度和精确度 14 4 3图像窗口的绘制模式 MATLAB允许用户选择不同的方式来绘制图形 方式的选择主要取决于所绘制图形的类型 决定MATLAB绘制图形的方式有下面4种 BackingStore 当图形被遮挡部分显露出来时 确定是否重绘 DoubleBuffer 为简单动画生成渲染效果 Renderer和RendererMode 指定不同的渲染方法 或由MATLAB选择 14 4 4定制图形窗口的光标 除了对绘制方式的选择 MATLAB还提供了多种指针符号 供用户选择 在图形窗口中 图形符号表示指针位置 用户可以选择系统预定义的15种指针符号 也可以自行设置指针符号 指针符号的属性值 标识及具体功能 14 5轴对象 轴对象是图形窗口对象的子对象 也是众多重要对象的父对象 参看第14 1节 在图形对象的结构中 是十分重要的一环 轴对象的属性众多 功能主要为控制图像各方面信息的显示 本节就其重要的属性进行介绍 14 5 1设置轴对象的位置属性 同图形窗口对象一样 轴对象的几何属性分别是位置属性 Position 和单位属性 Units 决定了轴对象在图形窗口对象中的位置 大小和轴对象的单位 值得读者注意的是 这些属性与图形窗口对象有不同之处 在图形是二维曲线时 轴位框和坐标框两者完全重合 14 5 2设置轴对象的刻度 刻度标记及坐标轴方向属性 本节以一个实例讲解单轴对象控制刻度 刻度标记及坐标轴方向的属性 14 5 3轴对象的多轴重叠 本书在第12章中曾介绍过的subplot函数可以完成单图多轴的绘制 使用subplot函数可把一个图形窗口按位置等分成多个 子块 分别在每一部分绘制独立的图形 在此基础上 本小节讲解轴对象的 多轴重叠属性 即允许用户在一个图形窗口对象中绘制多个重叠轴对象 14 5 4轴对象的自动模式属性 自动模式属性 Automatic ModeProperties 又常被称为 照相机属性 用户可以在轴对象属性的基础上设置MATLAB照相机属性 MATLAB照相机属性如表所示 14 6控制图形输出 本书在以前的章节多次提到 MATLAB允许用户同时打开多个绘图窗口 但是 当前窗口只能有一个 也就是说尽管用户打开的窗口不止一个 但系统运行的结果输出只能显示在众多窗口中的一个中 那么如何使用句柄保证输出的窗口是用户指定的窗口 而同时保证其他窗口不受输出结果的影响 这就是本节要主要介绍的问题 14 6 1定制图形输出的窗口 在默认情况下 创建图形对象的MATLAB函数把结果显示在当前图形窗口对象和轴对象上 图形对象是以轴对象的子对象为前提 用户也可以通过创建函数明确地指定其父对象属性 来使输出到用户需要的父对象中 例如下列代码 plot 1 10 Parent axes handle 以上代码中 用户指定了axes handle为输出目标轴对象的句柄 另外 uicontrol和uimenu函数提供一种更加简便的调用格式 即第一个参数就是指定目标父对象的名称 例如下列代码 uicontrol Figure handle uimenu parent menu handle 14 6 2定制图形输出的轴 默认情况下 图形绘制函数将输出的图形对象直接显示在当前的图形窗口中 而并不清除或重设图形窗口的属性 但是 如果图形对象是轴对象的子对象 MATLAB在显示图形对象之前 会将绝大多数的轴对象属性设置为其默认设置 用户可以通过改变图形窗口对象和轴对象的NextPlot属性来改变MATLAB的此种默认设置 在MATLAB7 0中 高级绘图函数在绘制图形之前首先要检查NextPlot属性 然后决定是直接添加图形还是擦除重置图形窗口对象和轴对象 而低级对象创建函数则不检查NextPlot的属性 只是进行简单地添加图形的操作 14 6 3利用newPlot属性定制图形输出的重叠属性 MATLAB提供给用户newplot函数用以简化编写与NextPlot属性值设置保持一致的M 文件的过程 newplot函数首先检查NextPlot属性值设置情况 然后根据不同的情况采取相应的操作方法 所以 应该把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 液压系统泄漏检测数据审核工艺考核试卷及答案
- 书记员考试试题及答案员工考试试题题库
- 合理膳食培训试题及答案
- 评茶员中级考试试题库含答案
- 农产品脱油去油精炼工艺流程考核试卷及答案
- 编织品耐老化工艺考核试卷及答案
- 本单元综合与测试教学设计-2025-2026学年小学综合实践活动四年级上册鲁科版
- 朗诵秋瑾课件
- 破碎地层中TBM开挖卡机问题的剖析与脱困技术创新
- 2025年陕西省企业人力资源管理师考试介绍试题及答案
- 土地使用权法律风险尽职调查指南
- 2025年内容分发网络(CDN)行业当前市场规模及未来五到十年发展趋势报告
- 故宫博物馆院课件
- 2025年8月16日贵州省黔东南州事业单位遴选笔试真题及答案解析(专业水平测试)
- 2025-2026秋季学年第一学期学生国旗下演讲稿(20周):第一周 新程启航礼润心田-开学典礼
- 2025年教师招聘小学语文真题及答案
- 2025年突发疾病应急演练方案(脚本)
- 幼儿园保安人员培训记录
- 2025年北京市中考语文真题(含答案)
- 2025年运城社区专职工作人员招聘真题
- 设备晨会管理办法
评论
0/150
提交评论