APP下载

对计算机图形接口中交互命令的分析

2018-02-25李国懿

电子技术与软件工程 2018年12期
关键词:数据表数据结构矩形

李国懿

摘要 本文讨论计算机图形接口形式中交互命令的原理及相关操作。

【关键词】计算机图形接口 交互命令

在计算机图形接口中,交互命令是不可缺少的部分,图形概念在计算机图形学中是一个广义的概念,图形数据通常是由几何信息和非几何信息组成,在漫长的岁月里,人们一直使用简单的工具,用手工绘图,计算机图形技术的发展,有效的解决了这一效率低下的工作方式。在这一技术中,图形接口技术是必不可少的,本文主要讨论这接口形式中的交互命令。

交互概念主要是指用户与计算机程序之间的信息交流,当用户把需求提出后,计算机根据程序的设置,实现用户所需要的输入、选择、拾取、删、增、改等操作。

1 用户接口模型

建立一个基于交互要求的模型,有以下要求,从使用者角度,所建立模型要尽可能接近于实际使用情况。从程序设计方面考虑,则主要是对模型参数的化描述,以便用程序能够实现。目前,使用比较流行的模型是Seeheim模型。

其中的表示部分主要负责对用户接口物理表示,即使用者接口的外部特性,包括了各种输入输出设备、屏幕的布局、交互技术和显示技术,主要完成的任务是:怎样接收到用户产生的数据,以及数据如何反馈给用户。这是三部分中唯一与设备有关的部分。其余两部分都不直接与设备打交道。表示部分可看成是用户接口管理系统的词法级接口。对话控制模块担负处理使用者与计算机对话,包括使用的命令和对话结构,经过检查,确保合法性。这一部分可看作用户管理系统中的语法级接口。其中的一个重要概念是状态,即能实现状态处理和状态转换。应用接口负责用户接口与开发程序之间的连接,如函数的选择和调用。

2 一条交互命令的执行过程

用CADMIS中二、三维图形交互处理系统实现增、删、改操作的例子如下述,在此例中以矩形为操作对象。

增用鼠标器或键盘设定屏幕上的一点作为矩形参考点,一般对应矩形的左下角点,用鼠标器或键盘设定矩形的边长以及与水平轴的夹角,调用生成矩形的应用程序,在屏幕指定位置、按指定属性产生一个矩形,并存入相应的数据结构中。

删用鼠标器或键盘在屏靠上拾取要删除的矩形,改变该矩形的属性,如改变颜色或使之闪烁,待用户确认后,删除屏幕上的矩形以及数据结构中的相应数据。

改用鼠标器或键盘在屏幕上拾取到要修改的矩形,经用户确认后输入修改参数,删除原有的矩形,显示按新参数生成的矩形并存入数据结构中。

3 增、刑、改操作的实现

增、删、改操作是与用户接口的数据结构紧密相关的。实现这类操作的数据结构大致分为两类。一类是三表结构,即要在用户数据表、显示数据表、用户/显示数据对照表中实现这类操作。另一类是单表结构,即仅在用户数据表中实现这类操作。下面我们就这两类数据结构讨论增、删、改操作的具体实现

3.1 三表结构

用户数据表存放用户坐标系下的图形数据(包括字符串说明)显示数据表存放设备坐标系下的图形数据,并且是对用户定义图形经离散、几何变形后的结果。因此,在这二张表之间不存在直接的一对一的映像关系,一般是间接的一对多的映像关系。从用户坐标系到设备坐标系的删、增、改只能通过名字(或标识符)来进行,且只能做整体操作,不易实现局部位置的修改。只有从屏幕上显示的图形出发,即从设备坐标系到用户坐标系才能实现局部位置上的删、改,并可通过单个图素的拾取、区域拾取、或有关指定属性的拾取来实现删、改。有了显示数据表,就可以提高图形捡取和输出速度,但花费的存储空间也是相当大的。由于三表比单表多两张表,故管理工作量也是不可忽视的。

在删、增、改操作中,增最容易,所增加的内容可接着表的尾指针往下存放。删操作其次,若通过名字的删、改,则可以从名字表出发,通过链指针在用户数据表中找到相应的图形,再在显示数据表中找到已经离散成线段的数据项,即可对屏幕上的图形进行删、改,为了加快查找,可增加窗口、层次管理,即在用户坐標系与设备坐标系之间建立窗口、层次对照表。

3.2 单袁结构

针对用户数据表来进行删、增、改操作,只设用户数据表,不再设显示数据表及其之间的对照表。采用这种数据结构是基于显示数据,只是用户数据作某种T变换的结果,且用户数据亦是显示数据经T的逆变换的结果。对一般情况而言,T实现从用户坐标系到设备坐标系的变换,而T的逆实现由设备坐标系到用户坐标系的变换。

在单表结构下实现对图形的删、增、改比在三表结构下困难。这里简单讨论一下改操作。图素的修改大致可分为三步:

(1)拾取要修改的图素;

(2)输入修改参数;

(3)输出修改后的图素。

查找用户所拾取的图素是从当前窗口开始的。窗口结构表中存放了该窗口显示的所有结构。遍历每一个结构,首先判拾取图素的光标是否落在该结构的凸包长方体内;若在内,则遍历该结构的所有图素;判光标是否落在该图素的凸包长方体内,如在内,则要精确判断光标是否落在该图素上;如果在该图素上,则可通过改变该图素的颜色、或增亮,让用户确认检索结果。再检索到该图素在用户数据表中的位置,取出所有参数,并根据用户输人的修改参数来修改图形。显然,拾取的坐标是设备坐标,必须变换成用户坐标才能到单表结构中去比较。修改参数后的图素还要经过把用户坐标下的参数变换成设备坐标下的数据才能在屏幕显示输出。

绘图是人们表达观点的一种主要方式,而计算机绘图技术赋予了人们实现这一方式的重要手段,在实现这一方式的过程中,交互命令的功能不可缺少,该技术的出现,使用得计算机在图形方面的功能越来越丰富,随着计算机应用范围的发展,这项技术会发展得更强大。

参考文献

[1]郭开鹤,计算机图形图像设计[M].中国传媒大学出版社,2006 (01).

[2]程辉,田少煦.计算机图形图像基础[M],浙江大学出版社,2011(02).

猜你喜欢

数据表数据结构矩形
两矩形上的全偏差
化归矩形证直角
基于列控工程数据表建立线路拓扑关系的研究
从矩形内一点说起
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
图表
TRIZ理论在“数据结构”多媒体教学中的应用
基于VSL的动态数据表应用研究
《数据结构》教学方法创新探讨