计算机图形学4.ppt
- 文档编号:18772688
- 上传时间:2023-11-06
- 格式:PPT
- 页数:45
- 大小:804KB
计算机图形学4.ppt
《计算机图形学4.ppt》由会员分享,可在线阅读,更多相关《计算机图形学4.ppt(45页珍藏版)》请在冰点文库上搜索。
上机思考题,利用二维变换矩阵实现几何变换.(先画一个多边形,对它进行平移、旋转、对称和变比操作,利用第二章的画线算法),第四章图形输入与交互技术,4.1逻辑输入设备,4.2图形输入控制,4.3交互技术,4.4三维图形输入,4.1逻辑输入设备,根据图形输入信息的不同性质,GKS和PHIGS把输入设备在逻辑上分成以下几类:
定位设备(Locator)描画设备(Stroke)定值设备(Valuator)选择设备(Choice)拾取设备(Pick)字符串设备(String),为了使图形软件包独立于具体的硬件设施,图形输入命令不涉及具体的输入设备,而只涉及该命令所需的数据。
图形软件所需的信息从各种各样的图形设备中输入。
交互设备在逻辑上分成以下几类:
1定位设备(Locator):
定位设备用来指定用户空间的一个位置,其输入方式包括:
直接或间接在屏幕上进行,通过方向命令,数值坐标等等。
其对应的物理设备包括:
光笔、触摸屏、数字化仪、鼠标、操纵杆、跟踪球、键盘的数字键等。
定位设备分为三类:
直接设备和间接设备绝对坐标设备和相对坐标设备连续设备和离散设备,2描画设备(Stroke):
描画设备用来指定用户空间的一组有序点的位置,其输入方式与对应的物理设备基本和定位设备相一致。
笔划设备的输入等于多次调用定位设备,产生一系列的坐标值,根据产生的坐标值可产生多边形和曲线等,3定值设备(Valuator):
定值设备用来为应用程序输入一个值(实数),其输入方式包括:
直接输入数值、通过字符串取值、通过比例尺输入、上下计数控制命令等。
对应的物理设备包括旋钮、键盘、数字化仪、鼠标、方向键、编程功能键等。
4选择设备(Choice):
选择设备用来为应用程序在多个选项中选定一项,其输入方式包括:
直接或间接在屏幕上进行、字符串名字、时间扫描、手写输入、声音输入等。
其对应的物理设备包括光笔、触摸屏、数字化仪、鼠标、操纵杆、跟踪球、字符串输入设备、编程功能键、声音识别仪。
5拾取设备(Pick):
拾取设备用来在处理的模型中选取一个对象,从而为应用操作处理确定目标。
其输入方式包括:
直接在屏幕上进行、时间扫描、字符串名字。
其对应的物理设备包括:
各种定位设备、编程功能键、字符串输入设备。
6字符串设备(String):
字符串设备用来向应用程序输入字符串,其输入方式包括:
键盘、手写输入、声音输入、菜单输入,其对应的物理设备:
数字、字母键盘,数字化仪,光笔,声音识别仪,触压板等。
4.2图形输入控制,4.2.1概述,在交互输入过程中,常用的控制方式是请求、取样、事件及其组合形式等4种。
输入控制的方式取决于程序和输入设备之间是如何相互作用的。
例如,可用程序来初始化输入设备,或者程序与输入设备同时工作,或者由设备初始化输入数据。
输入控制方式都可定义相对应的输入命令,而且图形交互系统允许对每种逻辑设备执行相应的输入操作。
例如,可设置如下命令:
set_locator_mode(ws,device_code,input_mode),4.2图形输入控制,4.2.1概述(续),set_stroke_mode(4,2,event),4.2图形输入控制,4.2.2请求方式,在请求方式下,只有输入设置命令(或语句)对相应的设备设置所需要的输入方式后,该设备才能作相应的输入处理。
在输入命令中,每种逻辑设备所包括的参数是和输入数据类型有关的。
举例如:
2.request_stroke(ws,device_code,n,xa,ya)请求方式下的笔划输入命令,输入的n个点的坐标存放在数组xa和ya中。
request_pick(ws,device_code,segment-id)应用程序中拾取到输入的图段,1.request_locator(ws,device_code,x,y)该命令把定位器置成请求输入控制方式,其中x、y用来存储一个点的坐标值。
请求方式的工作过程:
当程序运行到请求语句就向输入设备提出输入请求;同时停止运行,等待输入设备的输入数据。
直到请求满足之后,程序才继续运行。
当程序运行时,输入设备处于等待状态,等待程序的请求。
待到程序的请求出现,输入设备立即进入工作,直到满足程序的这一请求为止。
然后又重新处于等待状态。
因此,在请求方式下,程序和输入设备轮流交换工作状态和等待状态,由程序支配输入设备的启动。
4.2图形输入控制,4.2.2请求方式,4.2图形输入控制,4.2.2请求方式(续),请求方式的工作过程,4.2图形输入控制,4.2.3采样方式,一旦对一台或多台设备设置了取样方式,立即就可以进行数据输入,而不必等待程序中的输入语句。
设置定位设备为取样方式的命令是:
sample_locator(ws,device_code,x,y)将其他逻辑设备设置为取样方式的命令都与此类似在采样模式输入过程中,程序和输入设备分别同时运行。
输入设备不断地产生数据,并把数据输入数据缓存区,从而不断刷新数据缓存区的内容。
程序在运行中当遇到采样语句,就到数据缓存存储区中去取数据,当然,所取的是最新刷新的输入数据。
4.2图形输入控制,4.2.3采样方式,取样方式的工作过程,4.2图形输入控制,4.2.4事件方式,当某台设备被设置成事件方式,程序和设备将同时工作。
向设备输入的数据都可存放在一个事件队列或输入队列中。
在任一个时刻,事件队列按输入数据的顺序存放数据,并含有一个最大的数据类型项,在队列中的输入数据可按照逻辑设备类型、工作站号、物理设备编码进行检索。
在应用程序中,检索事件队列可用下述命令:
await_event(time,device_class,ws,device_code),time是应用程序设置的最长等待时间,当事件队列为空时,事件处理进程就挂起,直到最长等待时间已过或又有一个事件进入,才恢复事件处理进程.若在输入数据之前,等待时间就已过去,则参数device_class就返回一个空值。
当time被赋成零或当队列为空,程序就立即返回到其它的处理过程。
当用await_event命令使某设备进入事件输入控制方式,而且事件队列为非空时,队列中的第一个事件就被传送到当前事件记录中。
用户可用下述命令从当前事件记录中得到一个定位数据get_locator(x,y),下述程序用await_event、get_locator命令从1号工作站的图形输入板上输入一个点集,并用直线段连接这些点。
set_stroke_mode(1,2,event);if(device_class=stroke)await_event(60,device_class,ws,device_code);get_stroke(n,xa,ya);polyline(n,xa,ya);,4.2图形输入控制,4.2.4事件方式,4.2图形输入控制,4.2.4事件方式(续),在事件方式下,若只有这台图形输入板处于激活状态,那么这个if条件就不需要了。
在事件方式下,可同时应用多台输入设备以加快交互处理。
下面的程序从键盘输入所需选择的属性并从图形输入板输入数据画折线。
4.2图形输入控制,4.2.4事件方式(续),set_polyline_index
(1);set_stroke_mode(1,2,event);(把图形输入板设成笔划设备)set_choice_mode(1,7,event);(把键盘设成选择设备)doawait_event(60,device_class,ws,device_code);if(device_class=choice)get_choice(option);et_polyline_index(option);elseif(device_class=stroke)get_stroke(n,xa,ya);polyline(n,xa,ya);while(device_class),事件方式的输入过程,4.2图形输入控制,4.2.4事件方式(续),在事件模式数据输入过程中,输入设备和程序分别各自运行。
输入设备所产生的数据被组织成事件结点,排入事件队列中等待程序的处理。
程序运行到事件处理语句时,就从事件队列中取出队首事件予以处理。
如果事件队空,程序则等待一定的时间片,等待事件的发生,4.2图形输入控制,4.2.5输入控制方式的混合使用,在不同输入控制方式下同时应用各种输入设备的情况。
操作目的是要拖动一个形体在屏幕上运动,当达到最终位置时,可按动特定键来终止这种拖动。
光笔的位置是由取样方式得到的,按钮的输入存放在事件队列中,set_locator_mode(1,3,sample);(把光笔设成定位设备)set_choice_mode(1,7,event);(把按钮设成选择设备)if(class=choice)(如按过特定按钮键,则停止)elsesample_locator(1,3,x,y);(读入光笔的位置)(把形体平移到x,y处,并输出形体,此处这段程序略)await_event(0,class,ws,code);(检查输入的事件队列),光笔的位置是由取样方式得到的,按钮的输入存放在事件队列中,4.2图形输入控制,4.2.5输入控制方式的混合使用,4.3交互技术,交互技术指使用输入设备进行输入的技术。
为了帮助操作员完成某种输入操作,计算机应该在操作员进行输入操作的过程中显示某些反映操作员操作的信息(称为反馈)。
本节介绍一些常用的交互技术,这些技术可作为设计应用系统用户接口的基本要素,4.3交互技术,4.3.1定位技术,定位是图形输入和图形操作时常用的输入操作之一。
定位有直接定位和间接定位两种方式。
直接定位是指使用定位设备直接在屏幕上指定一个点的位置,用光笔或使用触感屏幕直接在屏幕上指定一个点的位置;间接定位是指通过定位设备的运动控制屏幕上的映射光标来进行定位;比如使用数字化仪时,鼠标器、游戏棒、轨迹球、光标键等通过其相对运动来控制屏幕光标位置从而实现定位。
在键盘上输入定位点的坐标值也是一种形式的间接定位。
鼠标等设备的相对移动控制光标定位(异或方式显示光标),定位时常用的位置反馈信息有箭头,十字游标和大十字光标等。
和制图工作中的丁字尺类似,大十字光标的使用便于精确地参考屏幕上的标尺或另外物体来定位。
另外,定位点的用户坐标数值的跟踪显示有时也很必要。
4.3交互技术,4.3.2橡皮条技术,定位操作有时依赖于环境。
例如,在绘图时,已经存在一个圆C和圆外一点A,现在要确定另外一点B,使两点连线AB与圆C相切。
这种点的确定可通过使用橡皮条技术而变得容易实现。
橡皮条技术主要针对变形类的要求,动态地、连续地将变形过程表现出来,直到产生用户满意的结果为止,其中最基本的工作是动态、连续地改变相关点的设备坐标。
常用的有橡皮筋线、带水平或垂直约束的橡皮筋线、橡皮筋圆、橡皮筋多变形、橡皮筋棱锥等。
用橡皮条技术定位(显示线段用异或方式),4.3交互技术,4.3.2橡皮条技术(续),橡皮条技术图例,4.3交互技术,4.3.3拖拽技术,拖曳技术被用于拼装定位和其他一些操作(如布局操作)中去,以便使工作变得直观、简便、高效。
拖曳一个二极管符号,拖曳技术以取样定位输入为基础,应用程序不断地读取定位器位置,在每一老位置上擦去原有对象图形,再在新位置上显示该对象图形,从而使对象的图形被操作员在屏幕上拖曳到适当位置。
显示和擦除图形的操作与橡皮条一样使用异或方式,以便不影响其他图形。
4.3交互技术,4.3.4菜单技术,菜单是一种很重要的交互技术,它可用于指定命令、确定操作对象或选定属性等多中选一的场合。
菜单的层次结构(单层次的、多层次的),根据可选对象的数量、性质及彼此的逻辑关系,菜单可以是单层的,也可以是多层的。
可选项不太多时往往使用单层次菜单以利于快速选择;可选项较多时则宜按逻辑关系分成一定的层次,以便于每次在较少的可选项中选择一个。
多层次结构的菜单中要支持从每一子菜单退回父菜单的功能,以实现在不同层之间的移动。
菜单的表示菜单的表示方法有三种:
字符串方法、图符方法、图象方法。
3菜单的显示控制菜单的显示位置有固定式和可变式两种。
固定式菜单可以在屏幕上显示,也可以固定在数字化仪等设备上。
弹出式(pop-up)菜单是位置可变式菜单。
在选择以后又自动消失。
菜单的可见性控制有永久可见(全局性菜单)和使用时可见(局部性菜单)两种控制方式。
4菜单的选择菜单可使用多种设备来选择,如使用指点设备直接选择,使用方向键顺序循环选择,使用数字键指定选择或使用功能键对应选择等。
菜单中的某些项可动态地定义为有效或无效,无效的项不能选择。
定值输入用于给出物体旋转的角度,缩放的比例因子等等。
定值输入设备可以是键盘、旋钮等也可以是各种指点设备,如鼠标、数字化仪等。
此外可以使用刻度尺、比例尺、旋转盘等模拟办法输入定值。
刻度尺和比例尺是屏幕上显示的二种均匀和非均匀的尺子。
操作员通过使用指点设备控制光标在尺子上的移动,同时在屏幕上给出与位置对应的值,在适当时刻,按下定值键来获得要输入的值。
这种方法比较直观。
旋转盘与刻度尺、比例尺原理相同,也可以有均匀和非均匀两种,操作员控制从圆心出发的线段绕圆心的旋转,根据显示的角度读数或数据读数来定值,4.3交互技术,4.3.5定值技术,圆形刻度尺与比例尺,刻度尺与比例尺,4.3交互技术,4.3.6拾取技术,在图形系统的许多交互操作中,经常需要在一个分层的对象结构或虽不分层但很复杂的对象结构中拾取一个基本对象或一些基本对象的集合,然后对其施加某种操作。
拾取一个基本对象可以通过一些方法来实现:
指定名称法特征点法外接矩形法分类法直接法,4.3交互技术,4.3.6拾取技术(续),拾取操作,用拾取技术拾取一个图形对象:
(1)利用定位设备冲突问题:
解决方法:
在图形对象生成时就对每一个对象确定其拾取优先级采用依次对拾取图形设立标志的办法。
找距离最近的对象优先拾取。
对一条以点(x1,y1)和点(x2,y2)为端点的线段来说,从点P0(x0,y0)到该线段距离的平方由下式来计算:
(2)指定拾取窗口拾取窗口是以光标位置为中心的一个矩形窗口,(3)矩形包围,4.3交互技术,4.3.7网格与吸附技术,网格化是绘制整齐、精确图形的一种技术。
有时要从某已有线段上的点或它的顶点开始绘制另一条线段或其他图形,直接使用定位设备很难保证选中点的重合性。
吸附技术则可克服这种困难。
带有引力场的线段,4.4三维图形输入,计算机图形设备发展的重要方向是,输入设备的作用功能范围从二维发展到三维。
3D物体直接转变为2D图像它使用3D扫描仪直接扫描物体以获取二维图像。
典型的如美国KanImage公司生产的扫描仪,称为Kanscan。
Kanscan示意图,3D扫描仪除了可以扫描3D对象外,还能扫描平的/高低不平的艺术作品、绘画或者易损坏的作品,应用范围非常广泛。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学