当前位置:文档之家› MATLAB高级图形处理教程

MATLAB高级图形处理教程

Matlab程序设计基础
第五章 高级图形处理功能
目的: 1、更深入地理解高层绘图指令,从而可 绘制出更精细、更生动、更个性的图形; 2、能利用低层图形指令和图形对象属性 开发专用绘图函数。
西安邮电学院计算机系
Matlab程序设计基础
一、句柄图形体系
句柄图形(Handle Graphics)是一种面向 对象的绘图系统。该系统提供创建计算机图 形所必需的各种软件。它所支持的指令,可 直接创建线、文字、网线、面以及图形用户 界面。
二、图形对象的操作
除根屏幕外,所有图形对象都由与之同名的 指令创建。
创建对象的低层指令(1)
指令名
功能
调用格式举例
figure 创建图形窗 h=figure(n) n为正整数。打开或创建第n号图形窗
axes 创建轴
line
创建线
surface 创建面
h=axes(‘position’,[left,bottom,width,height]) 定义坐标盒的位置和尺寸
h= line(x,y,z) 绘制向量x,y,z确定的直线。如果不 指定z,则在x-y平面上画线
h= surface(x,y,z,c) x,y,z定义三维曲面,c是色彩 矩阵。
西安邮电学院计算机系
Matlab程序设计基础
创建对象的低层指令(2)
指令名 功能
调用格式举例
rectangle 创建方 h=rectangle(’position’,[x,y,w,h],’curvature’[xc,yc])
西安邮电学院计算机系
Matlab程序设计基础
说明:
根:图形对象的根,对应于计算机屏幕,根只有 一个,其它所有图形对象都是根的后代。 图形窗口: 根的子代,窗口的数目不限,所有图 形窗口都是根屏幕的子代,除根之外,其它对象 则是窗的后代。
界面控制:图形窗口的子代,创建用户界面控制
对象,使得用户可采用鼠标在图形上作功能选择,
西安邮电学院计算机系
Matlab程序设计基础
6、句柄图形的功能
句柄图形可以随意改变matlab生成图形 的方式。
❖ 句柄图形允许你定制图形的许多特性, 无论是对图形做一点小改动,还是影响 所有图形输出的整体改动。
❖ 句柄图形的特性高层绘图函数是无法实
现的
西安邮电学院计算机系
Matlab程序设计基础
西安邮电学院计算机系
Matlab程序设计基础
4、对象属性
所有对象都有一组定义和刻画其外貌和 性状的属性(Properties)。
属性由两部分组成:属性名和属性值, 即二元对(Property-Name, Property-Value )
在创建或修改属性的指令中,属性名和 属性值总是成对出现。
light
创建光 h=light(’position’,[1 0 0])
x,y左下顶点坐标,w,h长方形的高和宽;xc,yc曲率
patch image
创建块 创建象
h=patch(’faces’,fac,’vertices’,vert) vert为顶点矩阵,fac为定义多边形的顶点序号矩阵
h=ima(x,y,’string’) x,y指定字符串string的标注位置
每个图形对象可以被独立地操作。 在MATLAB中生成的每个具体图形都由
若干不同对象构成。每个具体图形不必 包含全部对象,但每个图形必须具备根 对象(根屏幕)和图形窗。
西安邮电学院计算机系
Matlab程序设计基础
2、对象句柄
每个具体对象都有一个“与生俱来、终生不变”的独 特“身份(Identifier)”,即句柄(Handle)。
西安邮电学院计算机系
Matlab程序设计基础
属性名是英文词组字符串。该英文词组每个 单词的第一个字母大写,而单词间没有空格, 例如’LineStyle’,’ColorMap’等。
在指令中援引属性名时,为输入方便, MATLAB采取了两个措施: 不分字母大小写,都同样识别; 只要不引起歧义,属性名不必写全。比 如’lines’就代表’LineStyle’.
并返回句柄。
西安邮电学院计算机系
Matlab程序设计基础
界面菜单: 图形窗口的子代,创建用户界 面菜单对象
轴:图形窗口的子代,创建轴对象,并返回 句柄,线面字块像的父辈
线:轴的子代,创建线对象 面:轴的子代,创建面对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
不同的属性值将使对象具有不同的表现。
西安邮电学院计算机系
Matlab程序设计基础
5、缺省属性
在创建图形对象时,MATLAB并不需要 对每个属性加以定义。
若用户不对属性加以定义,MATLAB总 会自动给对象的每个属性赋予“厂家定 义(Factory-defined)”的属性值。
若希望创建具有个性的图形,就需要通 过指令对某些属性进行定义。属性值的 这种定义方式称为“宗量”赋值方式。
西安邮电学院计算机系
Matlab程序设计基础
3、句柄图形树结构
在句柄图形体系中,各图形对象并不平 等,它们之间的关系可用树结构层次表 示。
西安邮电学院计算机系
Matlab程序设计基础
图形对象的基本要素以根屏幕为先导
根屏幕
窗口1 窗口2 窗口n
界面控制 界面菜单 轴
线




图形对象之间的关系为父代与子代的关系
各种MATLAB高层(High-level)图形指令 (如plot,mesh)都是以句柄图形软件为基 础写成的。也正是这个原因,句柄图形也被 称为低层(Low-level)图形。
西安邮电学院计算机系
Matlab程序设计基础
1、图形对象
把用于数据可视和界面制作的基本绘图 要素称为句柄图形对象(Handle graphics object)。
句柄是存取图形对象唯一规范识别符。不同对象的句 柄不可能重复和混淆。
每个计算机,根对象只有一个,即屏幕。它的句柄总 是数字0。而图形窗(Figure Windows)的句柄总 是正整数,它用来标识图形窗的序号。除以上两种对 象外,其余对象的句柄则是双精度浮点数。
注意:对根屏幕、图形窗对象来说,数字可直接作为 调用对象的句柄。但不要企图通过直接输入浮点数, 作为其他对象的句柄;这些对象的句柄只能由相关指 令运作而得。
相关主题