chap3 用户接口与交互技术_第1页
chap3 用户接口与交互技术_第2页
chap3 用户接口与交互技术_第3页
chap3 用户接口与交互技术_第4页
chap3 用户接口与交互技术_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机图形学的基础,华东理工大学计算机系谢晓玲,第二章用户界面和交互技术,用户界面设计逻辑输入设备和输入处理交互描绘技术OpenGL实现了橡胶技术OpenGL操作OpenGL的菜单3.1用户界面设计,良好的图形用户界面必须具备以下特点:用户能够理解和容易接受的操作使用简单、高效、可靠、实用。 4、用户模型和用户模型(User Mode )是用户界面设计的基础,提供了有关用户处理的对象和作用于这些对象的处理过程的概念性模型。 用户模型根据对象的定义和对对象的操作来定义图形系统。的。 用户模型应该尽可能使用用户熟知的概念,避免计算机术语.的使用。 用户模型一般用于任务说明书和需求分析报告。 5、显

2、示画面的有效利用、信息显示的布局合理性将通常画面分为工作区、菜单区域和信息区域。 使用足够精确的符号来应用符号和控制符号。 符号有一个小提示(tip )。 适当使用各种显示方法选择性地进行信息显示、6、反馈、反馈是计算机与用户交互的基本要素,帮助用户对系统的操作。 反馈请求系统在每次接收到输入时给予某种响应。 虽然反馈信息通常应该简洁、明快地被注意,但是这些信息不应该太突出,从而阻碍了用户的注意。 实现反馈需要考虑的因素是速度。 7、一致性原则、一致性原则是指在设计系统的各个阶段时,应该遵循统一和简单的规则,保证不会发生例外和特殊的情况,不管信息表示和命令输入都应该这样做。 用户以最正常和逻辑

3、的方式做比保持简单的一贯性更重要。 8、减少记忆量,用户界面操作应容易理解和记忆。 重要的原则是唤醒用户的识别,而不是记忆。 9、回滚和错误处理、回滚(Undo )机制意味着绘图系统可以按照用户执行的操作步骤一步一步后退,并删除执行的操作。 对于操作中的任何错误和错误,无论在哪个水平,都需要一定的重新审视、取消、修复措施。 通过设计适当的诊断程序并提供错误信息,可以确定错误的原因。 提供10、在线帮助和提示是帮助用户学习和使用的有效方法。 在线帮助可以在用户操作过程中随时请求帮助。 11、视觉效果设计、视觉效果设计是用户界面的各个方面,比如屏幕的布局、颜色的使用、信息的配置等,在此强调的是颜色

4、的使用。 通常,当选择颜色的对比度时,色相的对比度是主要的。 为了减轻视觉疲劳,必须在视野范围内保持均匀颜色的亮度。 另外,12、适应不同用户,并且对同一交互任务,交互图形接口通常提供多种交互方式来适应不同用户。 另外,13和3.2逻辑输入设备与输入处理、逻辑输入设备输入模式、14、逻辑输入设备和图形输入设备在逻辑上被分为六种类型(PHIGS、GKS )。 表3.1图形输入装置的逻辑分类、15、逻辑输入装置、定位装置有鼠标、操纵杆、轨迹球、空间球、数字化仪的笔或手动光标等。 定位装置的三个分类绝对坐标装置、相对坐标装置直接装置、间接装置连续装置和离散装置、16、逻辑输入装置、笔划装置:笔划装置

5、的输入等于多次调用定位装置,生成一系列坐标值,根据生成的坐标值生成多边形、曲线等。 值设定软元件:值设定软元件一般用于输入各种参数和数据。 17、逻辑输入器件、字符串器件:即进行字符串输入。 选择装置选择装置可以选择菜单选项、属性选项、构图中使用的对象形状等。 常见的选择设备有功能键、热键、定位设备等。 18、拾取装置:拾取装置用于选择要转换、编辑和处理的场景部分。方法使用定点设备将光标位置与场景中的每个图形对象的显示区域(包围矩形)进行比较,如果某个对象的显示区域中包含该光标坐标,则拾取光标位置。 逻辑输入装置拾取装置,图3.4定位装置拾取器,19,逻辑输入装置拾取装置,冲突问题的解决在生成

6、图形对象时对各对象确定拾取优先级。 为拾取模式设置标志。 找最近的东西优先选择。 另外,图3.5最近的原则: 20和逻辑输入设备拾取设备,在以光标位置为中心的矩形窗口中指定拾取窗口,并对每个对象来确定交叉性。 在选择窗口的适当大小后,将选择通过该窗口的唯一形状对象。 另外,图3.6拾取窗、21、逻辑输入装置拾取设备,由矩形包围的对角点确定的矩形(Box )拾取完全包括在Box内的对象。 如果允许直接输入结构名称来命名指定的对象,则可以用对象名称来实现拾取。 图2.4矩形包围拾取器、22、输入模式如何管理和控制各种输入设备。 典型的输入模式包括请求、样本、事件、事件等的组合。的。等等。 输入模式

7、、23、请求模式:输入设备在应用程序的控制下运行,程序在发出输入请求后,处于待机状态直到数据输入。 采样模式:此时,在应用程序和输入设备同时运行,输入设备运行时,存储输入数据,持续更新当前数据,在程序请求输入时,程序采用当前数据值。 输入模式、24、事件模式(event mode ) :每次用户操作输入设备时创建的数据称为事件。 思想:发生一般事件时,往往来不及处理。 所以,把事件按优先顺序排列,先先先出,也就是先排事件,先取出处理。 当设备设置为事件模式时,程序和设备同时运行。 输入模式、25、3.3交互描绘技术、基本交互描绘技术、26、基本交互描绘技术、回波、图3.8回波、27、基本交互描

8、绘技术、约束网格中常用的方向定位约束包括水平或垂直约束、加斜线约束、网格约束等图3.10约束和网格,28,基本交互式绘制技术,引力域将接近直线的任何输入点转换成直线上的点。 在橡皮筋技术中,光标移动时,从开始位置引出直线或其他基本要素,在适当的位置固定直线或其他基本要素。 图3.12轮橡胶技术,29,基本交互绘制技术,草图技术,图3.14两个草图技术,(a )沿光标移动路径保留单点坐标(b ),曲线拟合,30,基本交互绘制技术,拖动,图3.15的草图拖动两个图形对象的初始位置(b )调整对象(c )最终的组装位置、31、基本的交互式绘制技术、设定旋转中心,并随着光标移动围绕旋转中心进行旋转。

9、图3.16旋转技术、32、基本交互绘制技术、变形、图3.17变形技术、33、三维交互技术、三维图形数据输入三维定位三维定向、34、3.4opengl橡胶轮廓技术、 橡胶轮廓技术的实现方法基于“异或”运算的橡胶轮廓技术并不是利用颜色的“异或”运算来消除原图形,而是绘制相同的直线段并与原图形进行“异或”运算,原图形从画面上消失的基于缓冲器的橡胶轮廓技术利用双缓冲技术来绘制图形时35,OpenGL实现了橡皮筋技术,鼠标响应函数glutMouseFunc鼠标移动对应函数glutmotionfuncglutpassivemotionfunc,36,OpenGL实现了橡皮筋技术,键盘是键盘对OpenGL的

10、三种模式的渲染(绘制)模式: GL_RENDER (默认)检查模式: GL_SELECT反馈模式: GL _反馈检查模式、反馈模式两种模式下为ope 如果使用选择模式,必须首先在帧缓存上绘制场景,然后进入选择模式。 3.5 OpenGL是一种选择模式,根据光标位置在视口中生成小区域(被摄景),在该被摄景中描绘场景中的所有要素,决定哪个要素出现在被摄景中,并将这些对象的标识符保存在选择阵列中。 进入选择模式后,帧缓存的内容在退出选择模式之前不会更改。 退出选择模式后,OpenGL返回选择数组,其中包含元素与选择区域相交的选择命中记录,每个记录都与名称堆栈的当前内容对应。 当使用绘制命令绘制实体时

11、,可以将实体的名称加载到名称堆栈中,从而在返回命中记录时,使用名称堆栈的内容来确定用户选择了屏幕上的哪个实体。 OpenGL实现拾取操作,在拾取模式下实现拾取的步骤使用glSelectBuffer ()定义元列表缓冲区,保存从拾取返回的信息,使用glRenderMode(GL_SELECT )进入检查模式的Glu 使用定义拾取区域使用glInitNames ()初始化“名称堆栈”使用glPushName ()保存名称使用glPushMatrix ()和glPopMatrix ()保存场景坐标glloadn 使用绘制每个选定图形的已命名图形。使用glRenderMode(GL_RENDER )退

12、出检查模式,返回渲染模式并返回拾取信息。 拾取主要函数void glSelectBuffer(GLsize size,GLuint *buffer )定义选择数组glintglendermode(glemmode )的模式mode: GL_RENDER (缺省),g 选择GL_FEEDBACK返回值:退出选择或反馈模式时,返回选择或反馈数组中的值的数量,负值表示溢出。 将void glInitNames(void )初始化名称堆栈void glPushName(GLuint name) name推入到名称堆栈中,然后将Pick的主要函数void gluPickMatrix(GLdouble x

13、,GLdouble y,GLdouble y 选择GLdouble height,Glint viewport4 )拾取区域x,y的定义:拾取区域的中心(通常是光标位置) width,height :选择区域的宽度,高度视口4 :当前视口的边界可以通过以下函数获取将glGetIntegerv(GL_VIEWPORT,glint * viewport ) void glloadname (gluint name )堆栈元素替换为name,42, OpenGL实现拾取操作,拾取缓冲器voiglselectobuffer(glsizeino, 设定GLunint *buff )选择模式进入GLint glRenderMode(GLenum mode )、43、OpenGL实现拾取操作,名称堆栈操作初始化名称堆栈(glInitNames )是名称堆栈的堆栈将名称推至,弹出堆栈元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论