人机交互与人机界面.ppt
人机交互与人机界面,人机交互定义,人机交互(human puter interaction)是指用户与计算机系统之间的通信,它是人与计算机之间各种符号和动作的双向信息交换。这里,“交互”定义为一种通信,即信息交换,并且是一种双向信息交换.可由人向计算机输入信息,也可由计算机向用户反馈信息。,本章讨论内容,本章介绍人机交互所涉及的基本问题,主要讨论基于图形设计与编辑的应用开发中所用到的人机交互技术:基本图形输入设备和基本交互任务人机交互输入模式常见的辅助交互技术的实现等,第六章人机交互与人机界面,6.1节 基本图形输入设备和基本交互任务,6.1.1 基本的图形输入设备,定位设备(Locator)笔画设备(Stroke)定值设备(Valuator)选择设备(Choice)拾取设备(Pick)字符串设备(String),1.定位设备(Locator),定位设备用于指定用户空间的一个位置.如指定一个圆的圆心等。输入方式包括直接或间接在屏幕上输入,设置数值坐标等。,间接输入设备:1)最普通的定位设备:鼠标及屏幕上的光标。2)操纵杆、数字化仪及按键盘上的方向键也可以控制光标的移动。,直接输入设备光笔、触摸屏,2.笔画设备(Stroke),笔画设备用于指定用户空间中一组有序点的位置如指定一条折线的顶点组、指定一条自由曲线的控制点等。输入方式与定位设备的输入方式一致。物理设备许多用于产生定位输入的物理设备均可以用作笔画设备,如鼠标、轨迹球和图形输入板等。,3.定值设备(Valuator),定值设备为应用程序输入一个值.如在旋转某一对象时输入一个旋转角度、缩放对象时输入一个比例因子以及输入文字高度、字体大小比例因子等。输入方式直接输入数值通过字符串取值通过比例尺输入执行上下记数控制命令等。物理设备包括旋钮、键盘、数字化仪、鼠标、方向键、编程功能键等,4.选择设备(Choice),选择设备为应用程序在多个选项中选定一项.如选择功能或图形元素等。输入方式包括直接或间接在屏幕上进行选择字符串选择时间扫描手写输入声音输入等物理设备包括光笔、触摸屏、数字化仪、鼠标、操纵杆、跟踪球,字符串输入设备、编程功能键、声音识别仪等。,5拾取设备(Pick),拾取设备在处理的模型中选取一个对象,从而为应用型操作确定目标。输入方式:直接在屏幕上选取时间扫描字符串选取。物理设备包括各种定位设备、编程功能键、字符串输入设备等。,6字符串设备(String),字符串设备向应用程序输入字符串.如为某对象确定名字、为某图纸输入加注文字等。输入方式:键盘输入手写输入声音输入菜单输入,物理设备有字母键盘、数字化仪、光笔、声音 识别仪、触压板等。,三维交互设备,PHIGS除了将图形输入设备分为以上六类之外,还支持三维输入设备,以便使三维空间定位、拾取等操作更为方便。如三维位置测试仪、数据手套、数据头盔的三维定位等。,一些人机交互设备,3维鼠标,力反馈设备,3维显示器,6.1.2 基本交互任务,1.定位2.笔画3.定值4.选择 5.拾取6.字符串,1.定位,定位是确定平面一点(x,y)或空间一点(x,y,z)的坐标。直接定位直接定位是用定位设备直接指定某个点的位置,如键盘输入。直接定位方法可以准确地给点定位.间接定位间接定位指通过定位设备的运动控制屏幕上的光标进行定位。如在移动鼠标时,根据鼠标移动的相对距离去控制屏幕上光标的移动。,定位,另外,使用数字化仪不仅可像鼠标那样产生输入点的相对坐标,还可输入点的绝对坐标。如果我们要输入一张图纸,用数字化仪输入图上各点的绝对坐标是最合适的方法。,2.笔画,笔画输入用于输入一组坐标点,相当于多次调用定位输入.输入的一组点常用于显示折线或作为曲线的控制点。笔画设备鼠标、轨迹球、游戏棒连续移 动的信号经转换成为一组坐标值。图形输入板的连续模式可通过按 键激活。当光标在图形输入板表 面上移动时,就产生一组坐标值。,3.定值,定值(或数值)输入用于设置物体旋转角度、缩放比例因子等。它是要在给定的数字范围内输入一个值。,可用键盘键入数值.可用软件的方法在屏幕上绘制一刻度尺或比例尺,用户可用定位设备控制光标在尺子上移动实现数值的输入。用刻度盘实现数值输入的原理也一样,操作员控制从圆心出发的线段绕圆心旋转,根据显示的角度读数或比例数据来定值.如果要输入一个精确的数,最好还是用键盘输入。,4.选择,选择是在某选择集中选出一个元素,它可以用于指定命令,确定操作对象或选定属性等。选择功能可用功能键.可用鼠标移动光标到要选图 元附近的位置,按下鼠标的 按钮,通过软件选择距光标 最近的图元。,画图中的选项,菜单功能使用最普遍,也是非常重要的一种交互方法。使用菜单可改善应用系统用户接口的友好性。,4.选择,对话框和键盘上的按键也可提供选择功能。对话框的内容极丰富,在对话框中通常用于选择功能的是选择开关及radio按钮(单选按钮,以小圆框打点表示被选中)。键盘选择也极为简单,如击数字键“1”表示使用绿色绘制,“2”表示使用蓝色绘制等.,5.拾取,拾取的功能是选择图形对象,用于选择场景中即将进行变换或编辑的部分。拾取一个对象的方法有:指定名称法:通过指定欲拾取对象的名称实现.特征点法:选择时让图形的特征点(如线段的端点,圆心等)以强光醒目显示,来拾取对象.边界盒法:对每一个子图预先求一个边界盒或比边界盒大一点的边界盒。分类法:分别将点,折线,弧等在有关按键的控制下进行拾取。,6.字符串,键盘是目前输入字符串最常用的设备.写字板输入字符曾经也很流行书写时笔画的次序可被系统记录下来,因而比脱机扫描输入识别具 有更多信息,具有更高的识别率。语音输入也是字符串输入以及功能选择的一种输入方法.语音输入需要使用语音识别技术。,第6章人机交互与人机界面,6.2 人机交互输入模式,现在常用的三种基本交互模式,请求模式(request mode)样本模式(sample mode)事件模式(event mode),请求模式,在请求模式下,输入设备的初始化是在应用程序中设置的.即通过输入设置命令(或语句),对相应的设备设置所需要的输入模式后,该设备才能作相应的输入处理。在请求命令中要指定是哪个应用程序调用的和调用的是哪个输入设备。,当程序运行时,输入设备处于等待状态,等待程序的请求.当程序运行到request语句时就向输入设备提出输入请求,同时程序停止运行,等待输入设备输入数据。输入设备立即进入工作状态,直到请求满足之后,程序才继续运行。输入设备重新处于等待状态.因此,在请求方式下,程序和输入设备轮流处于工作状态和等待状态,由程序支配输入设备的启动。,请求方式的工作过程,当把一台或多台输入设备定义为样本模式后,这些设备会连续不断地把信息输入进来,而不必等待应用程序的输入语句,即信息的输入和应用程序中的输入命令无关。当应用程序遇到取样命令时,就把相应物理设备此时的值作为取样数值.,样本模式,样本模式,优点该模式不像请求模式那样要求用户有一明显的动作,它对连续的信息流输入比较方便,也可同时处理多个输入设备的输入信息。缺点当处理某一种输入耗费的时间较长时,可能会失掉某些输入信息。,在取样输入模式的工作过程中,程序和输入设备同时运行.输入设备不断地产生数据,并把数据输入数据缓存区,数据缓存区的内容不断刷新。程序在运行时若遇到采样语句,就到数据缓存区中读取数据。这样,程序所取得的就是最新的数据。,取样方式的工作过程,事件模式 当设备设置成事件模式后,输入设备和程序并行工作。所有被设置成事件方式的输入数据(或事件)都被存放在一个事件队列中,该队列是以事件发生的次序排列的。当用户在输入设备上完成一个输入动作(如按一下按钮)便产生一个事件,输入的信息及该设备的编号等便被存放到事件队列中。不同的应用程序可到队列中来查询和提取与之有关的事件。,在事件模式下,输入设备和程序独立运行。输入设备所产生的数据被组织成事件节点,插入事件队列中等待程序的处理。程序运行到事件处理语句时,就从事件队列中取出队首事件进行处理。如果事件队列为空,程序则等待一定的时间片,等待事件的发生。,事件模式的输入过程,6.2.4 输入方式的混合使用 现代的计算机图形输入系统往往不是单一地使用一种输入方式,而是多种输入方式的混合使用,即一个应用程序可以使用多种控制方式,使用几种不同的输入设备.,第6章人机交互与人机界面,6.3 常见的辅助交互技术,6.3 常见辅助交互技术,几何约束拖拽三维输入,定位约束,定位约束技术在屏幕上定义一个可见或不可见的网格.网格线是等间距的水平线和垂直线,其交点为网格点。在使用网格时,任何方式输入的点都将被定位到离该点最近的网格点上。假设定义网格线为 x=ai,y=bj i,j=0,1,2,n,设输入点的坐标为(x,y),则离它最近的网格点的坐标为:(a(int(x+a/2)/a),b(int(y+b/2)/b),该技术用于绘制水平或垂直的线段。绘制时,若终点和起点的连线与水平线的夹角小于45,则绘出一条水平线(如下图),否则绘制垂直线。避免人眼或定位设备带来的误差,可以应用于印刷线路板或大规模集成电路的设计。,2.方向约束,可以看做是一种定位约束,用光标进行选图操作时,为了使光标可以较容易地定位选择区域中的图形,可以将图形的选择区域适当变大,这就是引力场方法。例如,在每条线段的周围假想有一个区域,光标中心落在这个区域内时,就自动地被直线上离光标最近的一点所代替,如同一个质点进入直线周围的引力场后,被吸引到这条直线上去一样。注意引力场区域大小的选择要适当。,图6.7 引力场,3.引力场,6.3.2 拖 拽,要把一个对象放到新的位置.如果光标移动的同时,对象也跟着光标移动.会使用户感觉更直观,从而使得对象的定位更为精确.,图6.8 拖拽图元到新的位置,在图形模式下将一个图形由一个位置移动到另一个位置,在移动的轨迹上按特定的象素操作模式(如异或方式)进行图形的重新绘制.这样,拖动的图形不会破坏它扫过轨迹上的图形。在图像模式下当一个图形由一个位置移动到一个新的位置时,实际上是进行了图像的整体移动.即首先保存目的坐标处拖动图像大小范围的屏幕图像,然后将被拖动的图像移动到该位置,当拖动图像离开该位置而移动到下一个新位置时,再恢复该位置处保存的屏幕图像。,图形模式示例(点右键选择播放),图像模式示例1(点右键选择播放),图像模式示例2(点右键选择播放),注意,示例需安装Flash查件,方能正常播放.,拖拽的另一种形式不同的只是拖动对象的形状随着光标位置的不同而变化比较容易找到通过一点和一个圆相切的直线的位置。橡筋的形状可以是任意的,可以是矩形、圆、圆弧、自由曲线,也可以是更复杂的图形。,“橡皮筋”技术,橡皮筋演示(点右键选择播放),拖拽技术是当前人机交互中普遍使用的技术,它可以使用户的操作更直观,定位更精确.拖动有时耗费很大,尤其当图像很大或图形很复杂时,拖拽可能变的很慢。,6.3.3 在三视图上作三维输入,输入一个立体图时,常常是将点、线、面单独输入的。而对一个点、一条线或一个面来说,只要在三视图上给出足够的信息,总是可以唯一地确定它在三维空间中的对应图形。例如输入一个点时,只要在任意两个视图中确定点的位置,便可唯一地确定三维空间中的一个点的坐标(x,y,z).,6.3.3 在三视图上作三维输入,在三视图上输入直线段上两端点便确定了三维空间的一条直线.把一个面上的各顶点在三视图上输入后,就唯一地确定了三维空间中的一个面。如果把一个多面体的各面均用上述方法输入,也就在三维空间中输入了一个多面体。用三视图来输入立体图是目前一种主要的输入手段.,一个立体图形的输入,可以由繁到简,分解为一步步构造的过程.要生成6.13所示的图形,可以先生成图6.11所示的二维半图形.再在平面ABCD上用推移方法拉伸出一个柱体来。为了确定平面ABCD,可用交互的办法指定A、B、C不共线的三点,也可以通过指定平面上一点和平面法向来确定。,6.3.4 结构平面,6.3.5 新的交互技术,1.视线跟踪,2.手势识别,3.语音识别,识别手势的手机,新的交互技术,4.表情识别,5.自然语言理解,6.手写识别,第6章人机交互与人机界面,6.4节 OpenGL中的交互式绘图技术,OpenGL实例,粒子系统,近视点,远视点,OpenGL不仅可以绘制物体,还可以标记物体,以确定在指定区域上绘制了哪些物体并返回绘图的信息。绘制物体是在OpenGL缺省的绘图模式下进行的,而标记物体和反馈绘图信息则是在选择模式和反馈模式下完成的。绘图模式,选择模式和反馈模式构成了OpenGL开发三维图形应用程序的基础。在绘图模式下,物体的几何参数,光照与材质参数,纹理参数等构成了交互程序的绘制基础.选择模式则为用户提供了一种拾取物体的机制,因而成为交互式程序设计的重要方法。反馈模式将绘图信息加以组织并返回给应用程序,成为程序设计的重要资料。,6.4.1 选择模式,在OpenGL中,使用int glRenderMode(GLenum mode)来选择不同的模式。其中mode是一个符号常量,可以是GL_RENDER,GL_SELECT,GL_FEEDBACK之一,默认的是GL_RENDER,也就是绘图模式,GL_SELECT指定选择模式,GL_FEEDBACK指定反馈模式。,选择模式用来判断哪些图元将被绘制在窗口的某个区域内。选择操作通过返回一个整型名称数组来工作,这个数组存放了名称堆栈当前的内容,这个数组由函数glSelectBuffer()来提供。,选择模式,一旦图元与拾取区域相交,将有一个选择命中产生.该命中记录将被写入函数glSelectBuffer提供的选择数组中。拾取区域是gluPickMatrix()指定的。当OpenGL处于选择模式时,不以GL_SELECT为参数调用glRenderMode(),可以退出选择模式,这时glRenderMode()返回选中记录的个数,这些记录存放在glSelectBuffer()提供的数组中。,6.4.2反馈模式,信息反馈为程序设计提供了重要的运行资料。在反馈模式下,场景渲染的信息存入反馈数组中,不往屏幕输出。反馈数组中的每组数据均有一个标记,用以说明图元的类型,接着是描述图元的顶点坐标,颜色和纹理等相关数据。退出反馈模式时,这些数据就被写入到反馈数组中。在应用反馈模式时,还可以插入一个标记。通过标记把一组数据与另一组数据分开来,以便于识别和处理。,确定反馈信息的类别和反馈数组。数组是存储浮点值的数组,由glFeedbackBuffer()函数来完成;将glRenderMode()函数的参数设为GL_FEEDBACK,使OpenGL进入反馈模式。重新绘制物体,并按要求插入标记。重新绘制物体时,并不向帧缓存中写入绘图信息。在反馈数组中,每组数据均有一个标记,用以说明了这组反馈信息描述的是基本几何对象还是像素数据。退出反馈模式,处理反馈数据。,应用反馈模式的基本步骤,第6章人机交互与人机界面,6.5 人机交互的发展,计算机所表现的信息除了文字、图形外,还包括声音、静止图像、动态图像、动画等。多媒体技术是将正文、声音、图形、静止图像、动态图像等与计算集成在一起的技术。多媒体技术应用于计算机系统,将使人们得到更直观的信息,从而简化用户的操作,扩展应用范围。,1.多媒体技术的支持,目前广泛使用的是字符和图形用户界面,通过用户输入字符串或点击图标等向计算机送入数据或命令,计算机也通过输出字符串或图形告诉用户计算结果和其他信息。,同一时刻用户可以采用多个通道与计算机进行交互,以提高人机交互的效率和自然性。可以利用各种通道、设备和交互方式的互补性,整合来自多个通道的信息,提高对用户输入的识别率,从而提高交互的自然性、灵活性和准确性,使人机交互方式向人与人交互方式靠拢。当一个通道由于设备故障或环境限制等原因不能使用时,用户可以选择其他通道,使交互继续下去。,2.多通道交互,自然语言接口应能理解用户用自然语言表达的请求,将其映射为相应软件的操作命令,并提交软件执行,最后软件产生的结果以用户可理解的方式反馈给用户。,3.自然语言接口,自然语言接口是一类基于自然语言知识的人机交互系统。,在三维用户界面中,用户主要通过两种交互方式在三维空间中进行操作:直接操作:一个由六自由度三维输入装置控制的三维光标将使三维交互操作更自然和方便.三维widgets:即三维画面中的一些小工具,用户可以通过直接控制它们使画面或画面中的三维对象发生改变.,三维交互技术采用有六个自由度的输入设备,即沿X、Y、Z轴平移和绕X、Y、Z轴旋转,常见的三维设备有跟踪球、数据手套、三维探针、三维鼠标和三维操纵杆等.,4.三维交互,计算机支持协同工作(Computer Supported Cooperative Work,CSCW)系统很好地适应了社会信息化、经济全球化和知识经济时代的特点以及诸如交互性、分布性和协同性等要求.,其应用领域非常广泛,如协同编辑、电子会议、工业应用、科学协作、远程教学、远程医疗等。,5.计算机支持的协同工作,