计算机图形学第5章交互技术讲课稿.ppt
计算机图形学第5章交互技术2、鼠标(Mouse)鼠标是一种用来定位屏幕光标的图形输入设备,当鼠标被移动时,它能将移动的方向和距离转换成数字信号传送给计算机,从而达到定位的目的。鼠标通常可以用按键数目及检测移动的方式来分类。鼠标的顶部常常会有13个按键,不同的软件系统可以自行定义这些按键的操作方式及其功能含义。机械鼠标利用底部滚轮的运动来检测移动的方向和距离;光电鼠标通常必须在一块印有相同间隔的网格板上移动,利用鼠标底部的发光二极管(LED)和光敏传感器,检测移动的方向和距离。由于鼠标检测到的是相对当前位置的运动方向和距离,因此它是一种相对坐标定位设备。鼠标上附加一些其它装置可以增加鼠标的功能。如下图的Z鼠标包含:三个按键、侧边的拇指轮、顶部的跟踪球以及底部的标准鼠标球。用Z鼠标,可以拾取一个对象,使其按六个自由度进行旋转并按任意方向移动。Z鼠标可用在虚拟现实系统、CAD和动画领域。3、跟踪球(Trackball)和空间球(Spaceball)跟踪球(Trackball)是一个装在支架上的可以自由转动的球,人的手掌摸着球转动时,带动着两个互相垂直的电位器,电位器的输出送给系统,控制屏幕光标的移动。4、操纵杆(Joystick)操纵杆由手杆安装在一个底座上构成,它用来对屏幕光标进行操纵,它只不过用一根杆控制两个方向的电位器。当操纵杆左右摆动时,改变着代表X方向的电位器;当操纵杆前后摆动时,改变着代表Y方向的电位器。5、数据手套(Data Glove)数据手套可用来抓住虚拟 对象。手套由一系列检测手和手指运动的传感器构成。发送天线和接收天线之间的电磁耦合,用来提供关于手的位置和方向的信息。发送和接收天线分别由一组三个相互垂直的线圈构成,形成三维笛卡儿坐标系统。来自手套的输入,可用来给虚拟场景中的对象定位或操纵该场景的对象。可在显示器上观察或用头套观察三维投影。6、数字化仪(Digitizer)数字化仪也叫图形输入板(graphics tablet),是一种能够方便地将用户的原始图件转换成坐标并输入计算机的常用图形设备。数字化仪因制作原理不同,有四种结构形式:电磁感应式、静电感应式、超声波式、磁致伸缩式。通常使用的是电磁感应式结构形式。在一块布满金属网格的绝缘平板上放置一个可移动的定位设备,该设备可以是手持游标或者是指示笔。手持游标上的十字叉丝用于定位,游标上通常还有2个、4个或16个按键,每个按键都可以赋予特定的功能。指示笔上面通常也有按键。数字化仪是一种绝对坐标定位设备,它将手持游标或指示笔位于数字化仪平板上的坐标位置输入到计算机。工作时用户将原始图样平贴在数字化仪平板上,用游标将原始图样的几何数据精确地输入到计算机里。7、图象扫描仪(Image Scanner)图象扫描仪是一种直接把图形(如工程图纸)或图象(如照片)扫描输入到计算机中,并以象素形式存储表示的图形输入设备。按所支持的颜色来分类,可以分为单色扫描仪和彩色扫描仪;按所采用的固态器件来分类,可以分为电荷耦合器件(CCD:Charge Coupled Device)扫描仪、金属氧化物半导体(MOS:Metal Oxide Semiconductor)电路扫描仪等;按扫描图件的宽度和操作方式来分类,又可分为大型扫描仪、台式扫描仪、手持式扫描仪等。扫描仪的分辨率是指在原稿的单位长度上的取样点数,单位是dpi(dot per inch),目前常用的分辨率为3001000dpi。扫描仪的另一个重要指标是它支持的颜色、灰度等级。当然,分辨率越高、颜色、灰度等级越多,保存图象所需要的存储空间就越大。8、触摸板(Touch Panel)触摸板是一种可以通过手指触摸显示的物体或屏幕位置来实现定位和选择的设备。有些系统像等离子显示板直接设计成具有触摸屏功能,另一些系统则通过在显示屏上贴一个透明的有触感的设备来进行触摸输入。根据工作原理,触摸屏可以分为电阻式、电容式、红外线式和声表面波式等几种。如红外线式触摸板,在沿框的垂直边和水平边各使用一行红外发光二极管(LED),而相对的垂直边和水平边安装光检测器。触摸时手指或其它东西会挡住部分光线,通过光检测器便可测知光线被挡住的位置。9、光笔(Light Pen)光笔是一种能检测出计算机荧光屏发出荧光的笔式装置,它对电子束打到特定象素点时荧光涂层瞬时发射的突发光敏感。光笔的笔尖处有一个小孔,使得荧光屏上的光可以进入笔内,进入笔内的光脉冲经光导纤维传导、放大,在开关控制下向计算机发出中断信号来实现对图形的拾取或定位。虽然光笔并未消失,但由于其精度低、操作容易疲劳、不能检测屏幕黑暗区域,因此它不再像一度兴旺那样普及。10、数码相机(Digital Camera)就外形而言,数码相机与传统相机之间并没有明显的区别,它们都有光学镜头系统、电子快门系统、电子测光系统等,它们的主要差异在于感光材料和存储部件不同。传统相机采用化学感光材料,将图象存储在胶片上;而数码相机采用电荷耦合器件作为感光材料,它将光线转换为电荷,再通过模数转换器转换成数字信号,以压缩格式存储在相机的存储器中。中档数码相机的分辨率为6404801024768,专业级数码相机的分辨率可高达30602036,图象一般以24位JPEG压缩格式存储。目前,数码相机使用的外存储器呈现多样化的趋势,既有闪烁存储卡、多种型号PCMCIA卡、又有标准3.5软盘、硬盘卡。数码相机除了具有与计算机连接的接口(并行口、串行口、SCSI口)之外,部分数码相机还有视频输出端子,可以通过监视器显示图象,有些数码相机甚至还具有声音记录功能,可将拍摄时几秒钟的声音记录下来并回放。5.2 5.2 逻辑输入设备逻辑输入设备 尽管图形输入设备的种类繁多,用法各不相同,并且有各自的特点,但是按逻辑功能划分,可以分为六种逻辑输入设备,即定位设备、笔划设备、字符串设备、定值设备、选择设备、拾取设备。图形系统使用逻辑输入设备的概念来减少系统对物理设备的依赖性,提高系统的独立性和灵活性。虽然每种逻辑输入设备的功能都可以用多种图形输入设备来实现,但是有些输入设备却比其它设备更加方便地完成特定的逻辑输入功能。比如说,鼠标和数字化仪擅长于定位,键盘可以方便地输入字符串,光笔适合在屏幕上拾取图形。v一、定位设备(Locator Device)v定位设备用来输入一个位置坐标(x,y)。根据三个相互独立的特征对定位设备进行分类,可分成:v1、绝对或相对、绝对或相对v(1)绝对定位设备。如数字化仪和触摸屏,都有绝对坐标原点,输入给计算机的是相对于坐标原点的位置坐标。v(2)相对定位设备,如鼠标、跟踪球、操纵杆等,没有绝对坐标原点,输入给计算机的是相对于前一位置的变化量。2、直接或间接、直接或间接(1)直接定位设备。如触摸屏,用户可以直接用手指或其它物体指点屏幕来进行定位。(2)间接定位设备。如数字化仪、鼠标和操纵杆,用户通过移动屏幕上的光标来进行定位。人们已经习惯于间接定位的工作方式,而直接定位常常会导致手臂疲劳。3、连续或离散、连续或离散(1)连续定位设备将手的平滑移动变成光标的平滑移动,数字化仪、鼠标和操纵杆等都是连续定位设备。(2)键盘上的光标控制键则是离散定位设备。连续定位设备比离散定位设备移动光标更自然、更容易、更快捷。v二、笔划设备(Stroke Device)v笔划设备用于输入一系列坐标位置,可以看成是对定位设备的连续调用。v许多用来定位的图形输入设备都可以作为笔划设备,如鼠标、跟踪球、操纵杆的连续移动都可以输入一系列坐标位置。v数字化仪是一种最典型的笔划设备,选择流工作方式后并按下游标上的输入键,数字化仪进入连续工作模式,当游标在数字化板上移动时,可以产生一连串的坐标值。这种功能在画不规则图形时特别有用。三、字符串设备(String Device)字符串设备用来输入一串字符。最常用的字符串设备是键盘,手写体识别输入及语音识别输入也是极有前途的字符串输入方法。后两种方法涉及到模式识别技术。首先需要有各种字符特征的字典或通过用户说一段话建立用户的语音字典,然后进行书写或朗读,利用模式识别提取字符或语音的特征,再到相应的字典中找出字符来。四、定值设备(Valuator Device)定值设备向图形系统输入数值。这些数值有些用于设置图形参数,如旋转角度、缩放因子,有些用于设置与特定应用相关的物理参数,如温度、压力、电压等。键盘上的数字键可以用来作为定值输入,用户只要按照指定的格式键入数值即可,但是键盘方法输入数值较慢。通过在图形显示器上显示出标尺、刻度盘、滑杆、按钮等辅助工具,数字化仪、鼠标、操纵杆等定位设备也可以被用来实现定值设备的功能。v五、选择设备(Choice Device)v利用选择设备可以从一个选择集中挑选出一个元素。在图形系统中,操作命令、属性值、物体种类、物体等都是可能的被选集。v常用的选择设备有功能键、定位设备。键盘上的每个键都可以被应用程序定义为功能键,按下某个键即执行相应的功能。通过键盘或鼠标可以对菜单进行选择。v当用定位设备实现选择功能时,首先需要判断当前光标位置落在屏幕上的哪个菜单区域中,然后再判断选择了该菜单的哪一项。六、拾取设备(Pick Device)拾取设备用来拾取屏幕上的一些图形对象,以便对它们进行进一步的操作。在使用随机扫描显示器时,光笔是最方便的拾取设备。先用光笔对准屏幕上需要拾取的图形,由于显示处理器反复执行显示文件以刷新屏幕,因而光笔可以立即检测到画图产生的荧光,并产生中断让显示处理器暂停执行,此时显示文件暂停的位置就是拾取到的图形,接着显示处理器继续往下执行。一般情况下,可以先用定位设备将光标移动到想要拾取的图形对象的附近(对于非封闭图形)或内部(对于封闭图形),再按拾取键,这时系统会根据一定的拾取算法在存储所有图形对象的内部数据结构中找出被拾取的图形对象,并将该区域内拾取到的所有图形对象顺序醒目显示,用户认可后即可对该对象作进一步的操作,如复制、删除、修改等。5.3 5.3 输入方式输入方式 用六种逻辑输入设备设计一个交互系统时,应用程序必须指定用于输入数据的物理设备类型及其逻辑分类,其它参数取决于输入数据。在应用程序和输入设备之间,输入方式是多样的,常用的输入方式为:一、请求(Request)方式请求方式下,程序发出从某设备输入数据的请求,接着便等待用户输入数据,得到“允许从该设备输入”的回答后再将数据读入。这完全类似在高级语言中用读(read/scanf)命令从键盘上获得数据。在这种方式中,应用程序和数据输入是交替工作的,如果要求进行数据输入时,用户不进行输入,则整个程序被挂起。所以在要求输入时应对用户显示提示信息。字符或数据输入时往往采用这种方式。如希望用请求方式从定位设备中获得位置坐标,可用下面的请求函数:requestLocator(ws,deviceCode,&x,&y)在函数中,每一种逻辑设备所包括的参数是和输入数据类型有关的。如在请求方式下的笔划输入函数是:requestStroke(ws,deviceCode,n,xa,ya)这里输入的n个点的坐标存放在数组xa和ya中。二、采样(Sample)方式采样方式下,应用程序和输入设备同时工作,当输入设备工作时,存储输入数据,不断更新当前数据,当程序要求输入时,程序则对当前数据值采样。对一种或多种设备而言,一旦设定采样方式,则不等程序请求就开始数据输入。在采样方式中,如指定操纵杆作为定位设备,则操纵杆的当前位置坐标立即就被存储起来。当操纵杆位置改变时,当前位置坐标不断地替换原来存储的值。当应用程序一遇到采样函数,就把相应物理设备的输入值作为采样数值。例如:sampleLocator(ws,deviceCode,&x,&y)表示用采样方式从定位设备中获得位置坐标,具体的物理设备由deviceCode指定的设备码决定。三、事件(Event)方式当某台设备被置成事件方式,应用程序和设备将同时、各自独立地工作。从设备输入的数据或事件都存放在事件队列里,应用程序随时可以检查这个事件队列,处理队列中的事件,或删除队列中的事件。事件输入方式避免了请求方式和采样方式中存在输入数据丢失的问题。检查事件队列,可用如下函数:awaitEvent(time,deviceClass,ws,deviceCode)这里,time是应用程序设置的最长等待时间,当事件队列为空时,事件处理进程被挂起,直到最长等待时间已过或又有一个事件进入,才恢复事件处理进程;deviceClass为逻辑设备类型。当事件队列非空时,队列中的第一个事件就被传送到当前事件记录中,用户可以用下面函数从当前事件记录中得到数据:getLocator(&x,&y)表示从当前事件记录中得到一个定位数据。下面一段程序用事件方式从1号工作站的数字化仪(设备码:2)上输入一系列点,并用直线段连接这些点:setStrokeMode(1,2,event)if(deviceClass=stroke)awaitEvent(60,deviceClass,ws,deviceCode);getStroke(n,xa,ya);polyline(n,xa,ya);图形系统允许对每一种逻辑设备设置相应的输入方式。例如:setLocatorMode(ws,deviceCode,inputMode)这是用来设置定位设备输入方式的命令,其中:inputMode对应请求、采样、事件三种输入方式;ws是工作站的标志号;deviceCode是用来指定被采用的物理定位设备的设备码。inputMode输入方式Reqest请求方式Sample采样方式Event事件方式逻辑设备逻辑设备名Locator定位设备Stroke笔划设备String字符串设备Valuator定值设备Choice选择设备Pick拾取设备inputMode输入方式Reqest请求方式Sample采样方式Event 事件方式逻辑设备逻辑设备名Locator定位设备Stroke笔划设备String字符串设备Valuator定值设备Choice选择设备Pick拾取设备5.4 5.4 交互技术交互技术 交互技术的出现使得图形系统能提供各种不同的交互功能,使用户能方便、高效地完成传统方法做起来较为困难的工作。常用的交互技术有:对话框、橡皮筋技术、约束技术、网格技术、引力场技术、拖动技术、操作柄技术、菜单技术等5.4.1对话框(对话框(Dialogue Box)用户常常需要从一个选择集中选择多个元素,比如字符属性集中有:加粗、倾斜、下划线等,它们并不是互斥的,用户可以一次选择多个属性。另外,有些选择集是相关的,如字体和字型。菜单技术在一个集合中选择一个元素是有用的,但是不适合作多个元素的选择,例如下拉式菜单和弹出式菜单通常在作出一个选择后就消失了,需要再次激活才能作第二个选择。对话框可以解决上述问题,因为对话框在用户明确地指示关闭它以前一直是可见的。此外,对话框还允许用户从多个选择集中作选择,并且可以提供输入文本和数值的区域。在对话框中作出的选择在用户确认之前都可以修改。当所有需要的信息都输入到对话框并经用户确认后,对话框就消失了,系统按照选择的属性执行命令。5.4.2 橡皮筋(橡皮筋(Rubber Band)技术)技术在平面上确定一条直线一般是先定下起点再定下终点,最后把起点和终点连成直线。如果要求这条直线能通过平面上某一点或和一已知圆相切,上述方法便不易做得很准确。所谓橡皮筋技术就是在起点确定后,光标移出去定终点时,在屏幕上始终显示一条连接起点和光标中心的直线,这条直线随着光标中心位置的变动而变动,它就像在起点和光标中心之间紧紧地拉着一根橡皮筋,有了这根橡皮筋便比较容易地找到通过一个点或和一个圆相切的直线的位置。橡皮筋技术除了可以用来画直线外,还可以用来画圆和矩形。橡皮筋技术实际上是简易动画的实现,它不断地进行:画擦画的过程。即:(1)从起点到光标中心点(x,y)处画图;(2)擦除起点到光标中心点(x,y)处图形;(3)光标移动到新的位置:x=x+x,y=y+y(4)转第(1)步,重复这个过程,直到按下确认键为止。橡皮筋技术演示 5.4.3 约束(约束(Constraint)技术)技术采用约束技术可以方便地画出水平线、垂直线,这种技术在绘制管网图或地籍图时非常有用。在这种技术中,起始定位点是约束函数的输入值。如果用水平约束构造直线,在直线的第一点被确定后,无论光标如何运动,线段的纵坐标始终与起点相同,显示的是一条从(x1,y1)到(x2,y1)的直线。同样,如果用垂直约束构造直线,线段的横坐标始终与起点的相同,显示的是一条从(x1,y1)到(x1,y2)的竖线段。同样线段的绘制用到橡皮筋技术。除了画水平线和垂直线外,约束技术还可以用于画具有特殊角度(如30、45)的线段,并且这种思想也可以用于画其它图形,如圆、正方形等。约束技术演示5.4.4 网格(网格(Grid)技术)技术网格是另一类约束技术,它强迫输入点落在屏幕的坐标网格交点上。坐标网通常以线网或点阵网显示在屏幕上,该技术既可用于画线,也可用于图符定位。强迫入网的方法很简单,只要程序将输入坐标四舍五入成坐标网上最近的结点即可。坐标网通常表示成用户坐标系(世界坐标系),网的间隔由应用程序或用户选取。网格可以在出现和不出现之间转换,网一般取同等间隔并且覆盖整个屏幕,有时还可以使用部分网格以及在不同屏幕区域有不同大小的网格。网格技术演示5.4.5 引力场(引力场(Gravity Field)技术)技术在构图中,我们有时需要在某线段的端点之间连接另外的线段,由于很难在连接处精确定位,虽然可以借助网格技术来实现,但如果连接点不在网格交点上,网格技术也无能为力,因此,引入“引力场”概念。引力场技术模拟引力场的作用,在每一条线段周围假想有一个区域,光标中心落在这个区域内时,就自动地被直线上最近的一个点所代替,这就好象一个质点进入了直线周围的引力场,被吸引到这条直线上去一样。引力场区域大小要适中,太小了不易进入引力区,太大了会增大误接的概率。引力场技术演示5.4.6 拖动(拖动(Drag)技术)技术拖动就是将形体在空间移动。选择拖动功能后,先在作图区用定位设备拾取某个要拖动的物体,再按住键移动光标,则这个被拾取的物体将随着光标的移动而移动,就像光标在拖动物体一样,放开键,物体就固定下来,再移动光标对这个物体就不起作用了。拖动也用到简易动画技术,拖动过程就是不断地进行画、擦、画的过程。拖动技术演示5.4.7 操作柄(操作柄(Handle)技术)技术操作柄技术可以用来对图形对象进行缩放、旋转、错切等几何变换。先选择要处理的图形对象,该图形对象的周围会出现八个操作柄,移动或旋转操作柄就可以实现相应的变换。操作柄技术演示5.4.8 菜单(菜单(Menu)技术)技术菜单是一项非常重要的交互技术。所谓菜单,就是程序给出的可选操作表,用菜单进行命令和操作选择,菜单技术的特点是:(1)可清楚地在屏幕上显示出可供用户选择的全部选项,就像餐厅点菜的菜单一样,一目了然。(2)可以防止用户选择在范围以外的项目,解决了错误命令问题。(3)菜单很灵活,可以改变内容。通过重新标识一套功能键或加进一个额外键即可增加新的内容。菜单技术将程序各项功能或选项通过文字或图形符号进行标识,由用户通过选择设备进行选择。根据菜单出现的方式,通常把菜单分为三种:主菜单、下拉式菜单、弹出式菜单。主菜单固定在屏幕某个区域,始终显示在屏幕上。下拉式菜单和弹出式菜单都是当选择某些项或用鼠标右键单击某个热区后才呈现到屏幕上,需要时出现,不需要时立即消失,不会遮挡原显示图形。5.5 5.5 用户界面设计用户界面设计 人机操作界面是计算机与人交互的窗口,一个友好的用户界面对图形系统至关重大。用户界面的好坏,在很大程度上关系到设计的软件是否容易学习和操作、是否成熟可靠、是否高效友好以及是否对用户具有吸引力。良好的用户界面是软件产品实用化、商品化的重要因素之一。它涉及到感性心理学领域(人们对环境的感觉),认识心理学(人们对知识获取的方式),以及人的其它因素(人们如何与机器交互作用)等。4.5.1 界面的屏幕设计4.5.2 菜单设计4.5.3 界面设计原则5.5.1 界面的屏幕设计界面的屏幕设计人机界面的屏幕设计涉及屏幕布局、显示内容、字符及符号选用、网格划分、颜色选择等多方面的内容,每个方面都有一些经验和准则可以参考。(1)屏幕划分:对称型和非对称型。设计中注意空间优化,突出重点,版面活泼。(2)字符选择:字体、字型、字的大小、中文、西文及其大小写、对齐方式、字的间隔、页边空白等。选用得好可以给屏幕带来生气,建立起层次感,增加可读性。(3)颜色、亮度的选择:避免同时使用光谱边缘色;字符、细线、小物体应避免用蓝色;颜色的效果与周围环境色彩有关;避免红、绿色同时使用。利用颜色把用户注意力吸引到重要信息上,用颜色对信息进行分类,并增强人的兴趣,减少视觉疲劳。5.5.2 菜单设计菜单设计绝大多数图形系统都采用了菜单结构,菜单可以是一些简单的字符串,也可以是图标。利用各种类型的图形输入设备可以实现菜单选择功能,例如鼠标、光笔、触摸屏都能迅速完成菜单选择。一般来说,选择项较少的菜单效率较高,因为它大大减少了花在选择上的时间,也占据了较少的屏幕空间。通常,菜单位于屏幕的某一边,使其不影响图形的显示,如果菜单的内容太多,可把菜单分层,由主菜单引出第二级菜单,由第二级菜单再引出下一级菜单,菜单层数不宜超过三层,否则用户会感到厌烦。除了固定菜单外,另一种布局方式是“可移式”菜单,如“弹出式”菜单,它可以在任意屏幕光标处出现,既方便了用户的选择,又不占用屏幕空间。5.5.3 界面设计原则界面设计原则用户界面设计的原则如下:(1)保持一致性。是指在设计系统的各个环节时,应遵从统一的、简单的规则,其目的是让用户由系统某个方面的知识推广到其它方面。(2)提供反馈。反馈是人机交互的一部分,它告诉用户计算机正在进行什么操作、操作的结果、出错处理以及下一步应怎样进行等。如果响应时间太长,反馈信息就更显重要,否则用户会对系统是否已在操作、是否需要进一步的输入等问题感到困惑。(3)尽量减少失误的可能。要尽可能地减少用户的操作失误,引导用户只在有效的范围内工作,不让用户做不允许做的工作。例如没有选择任何东西,就不要让用户做“拷贝”操作。这时,系统就应该使这些不可用的命令隐藏起来,如用灰色表示该菜单,告诉用户这些菜单目前不可用。(4)提供出错恢复。谁都有出错的时候,如果出了错就要提供恢复的功能,以改正错误。有四种出错恢复方法:复原(UNDO)、中止(ABORT)、取消(CANCEL)、校正(CORRECT)(5)面向多层次用户。使毫无经验的新手、经验不多的用户、直到熟练用户都能找到适合自己的交互手段。使系统能容纳多层次用户的方法是,提供加速键,增加提示信息,提供帮助信息,可扩充功能及隐藏功能。(6)尽量减少要记忆的内容。作业1、常用的物理输入设备有哪些?2、鼠标是一种用来定位屏幕光标的图形输入设备,它是绝对定位设备还是相对定位设备?3、数字化仪用作定位设备时,它是绝对定位设备还是相对定位设备?4、有哪几种逻辑输入设备?5、在应用程序和输入设备之间,常用的输入方式有哪些?6、常用的交互技术有哪些?7、说说网格技术的功能?8、说说引力场技术的功能?9、常用的菜单有哪些?10、用户界面设计的原则是什么?此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢