计算机图形学第3章.ppt_第1页
计算机图形学第3章.ppt_第2页
计算机图形学第3章.ppt_第3页
计算机图形学第3章.ppt_第4页
计算机图形学第3章.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

第3章用户接口与交互式技术 用户接口设计逻辑输入设备与输入处理交互式绘图技术OpenGL实现橡皮筋技术OpenGL实现拾取操作OpenGL中的菜单功能 本章主要内容 3 1用户接口设计 用户接口确定用户与计算机如何进行信息交换 包括用户通过什么途径与图形系统进行联系 通过什么手段来操作系统的功能实现等 一个好的图形用户接口应具备以下特点 易于被用户理解并接受 易于操作 使用 高效率 可靠性和实用性 要点 高效 友好 方便 3 1 1用户模型 用户模型 UserMode 是用户接口设计的基础 它提供给用户有关他所处理的对象以及作用于这些对象的处理过程的一个概念性模型 用户模型依照定义对象和对对象进行的操作来定义图形系统 用户模型应尽可能地使用用户熟悉的概念而回避一些计算机专业术语 3 1 2显示屏幕的有效利用 1 信息显示的布局合理性 用户工作区菜单区显示提示及反馈信息区 一类应用图符 applicationicons 2 充分而又正确地使用图符 一类控制图符 controlicons 3 恰当地使用各种表示方法进行选择性信息显示 一些常见图符 如加框 加亮 闪烁 动画 变色等 反馈是计算机与用户对话的一个基本成分 用来帮助用户对系统进行操作 反馈要求系统在接收到每次输入以后给出某种类型的反应 反馈信息通常应足够简捷清晰 引人注目 但这些信息也不能过分突出 以至于干扰用户的注意力 实现反馈必须考虑的因素是速度 3 1 3反馈 反馈 就是动态地显示系统运行中所发生的一些变化 以便更有效地进行交互作用 3 1 4一致性原则 一致性原则是指在设计系统的各个环节时 应遵从统一的 简单的规则 保证不出现例外和特殊的情况 无论信息显示还是命令输入都应如此 按用户认为最正常 最合乎逻辑的方式去做 3 1 5减少记忆量 用户接口的操作应该组织得容易理解和记忆 重要的是唤醒用户的识别而不是记忆 3 1 6回退和出错处理 回退 Undo 机制 它指绘图系统允许用户沿着进行的操作步骤 一步步倒退 并删除已做的操作 对操作过程中的任何错误或失误 无论在何级别 都应有一定的改错 取消和修复措施 设计一些好的诊断程序和提供出错信息可帮助确定发生错误的原因 回退 undo 机制取消 Cancel 机制确认机制设计好的诊断程序提供出错消息对可能导致错误的一些动作进行预测约束机制 动作与对象相一致 3 1 7联机帮助 提供提示是帮助用户学习和使用的有效方式 为用户提供联机帮助 On LineHelp 措施 能在用户操作过程中的任何时刻提供请求帮助 3 1 8视觉效果设计 视觉效果设计涉及用户接口的各个方面 如屏幕的布局 色彩的使用 信息的安排等等 这里强调的是色彩的使用 选择色彩对比时以色调对比为主 就色调而言 最容易引起视觉疲劳的是兰色和紫色 其次是红色和橙色 而黄色 绿色 蓝绿色和淡青色等色调不容易引起视觉疲劳 为减轻视觉疲劳 应在视野范围内保持均匀的色彩的明亮度 3 1 9适应不同的用户针对同一交互任务 交互式图形接口通常提供多种交互方法使软件能适应不同熟练程度的用户 3 2逻辑输入设备与输入处理 3 2 1逻辑输入设备 PHIGS和GKS将各种图形输入设备从逻辑上分为六种 定位设备 Locator 典型方法是定位屏幕光标 定位设备有鼠标 操纵杆 跟踪球 空间球 数字化仪的触笔或手动光标等 定位 定位设备位移屏幕光标位移 鼠标 定位设备分为三类 直接设备和间接设备 ToutchScreen 绝对坐标设备和相对坐标设备 Digitizer 连续设备和离散设备 KeyBoard 手柄 操纵杆 定位方法 定位是确定平面一点 x y 或空间一点 x y z 的坐标 直接定位直接定位是用定位设备直接指定某个点的位置 如键盘输入 直接定位方法可以准确地给点定位 间接定位间接定位指通过定位设备的运动控制屏幕上的光标进行定位 如在移动鼠标时 根据鼠标移动的相对距离去控制屏幕上光标的移动 指点杆 手写平板电脑 另外 使用数字化仪不仅可像鼠标那样产生输入点的相对坐标 还可输入点的绝对坐标 如果我们要输入一张图纸 用数字化仪输入图上各点的绝对坐标是最合适的方法 数字化仪 笔划设备输入 等于多次调用定位设备 产生一系列的坐标值 根据产生的坐标值可产生多边形和曲线等 许多用于产生定位输入的物理设备均可以用作笔画设备 如鼠标 轨迹球和图形输入板等 笔画方法 笔画输入用于输入一组坐标点 相当于多次调用定位输入 输入的一组点常用于显示折线或作为曲线的控制点 笔画设备鼠标 轨迹球 游戏棒连续移动的信号经转换成为一组坐标值 图形输入板的连续模式可通过按键激活 当光标在图形输入板表面上移动时 就产生一组坐标值 手写板 定值设备常用来输入各种参数和数据 数字键盘 旋钮 滑动电位器 刻度盘 等等 旋钮 定值方法 定值 或数值 输入用于设置物体旋转角度 缩放比例因子等 它是要在给定的数字范围内输入一个值 可用键盘键入数值 可用软件的方法在屏幕上绘制一刻度尺或比例尺 用户可用定位设备控制光标在尺子上移动实现数值的输入 用刻度盘实现数值输入的原理也一样 操作员控制从圆心出发的线段绕圆心旋转 根据显示的角度读数或比例数据来定值 如果要输入一个精确的数 最好还是用键盘输入 定值的几种方法 字符串设备进行字符串输入 键盘 数字化仪 光笔 声音识别仪 触压板等 光笔 键盘 字符串方法 键盘是目前输入字符串最常用的设备 写字板输入字符曾经也很流行书写时笔画的次序可被系统记录下来 因而比脱机扫描输入识别具有更多信息 具有更高的识别率 语音输入也是字符串输入以及功能选择的一种输入方法 语音输入需要使用语音识别技术 手写板 语音输入 选择设备用来选择菜单选项 属性选项和用于构图的对象形状等 常用的选择设备有功能键 热键和定位设备等 包括光笔 触摸屏 数字化仪 鼠标 操纵杆 跟踪球 字符串输入设备 编程功能键 声音识别仪等 选择方法 选择是在某选择集中选出一个元素 它可以用于指定命令 确定操作对象或选定属性等 选择功能可用功能键 可用鼠标移动光标到要选图元附近的位置 按下鼠标的按钮 通过软件选择距光标最近的图元 画图中的选项 菜单功能使用最普遍 也是非常重要的一种交互方法 使用菜单可改善应用系统用户接口的友好性 对话框和键盘上的按键也可提供选择功能 对话框的内容极丰富 在对话框中通常用于选择功能的是选择开关及radio按钮 单选按钮 以小圆框打点表示被选中 键盘选择也极为简单 如击数字键 1 表示使用绿色绘制 2 表示使用蓝色绘制等 拾取的功能是选择图形对象 用于选择场景中即将进行变换 编辑和处理的部分 拾取一个对象的方法有 指定名称法 通过指定欲拾取对象的名称实现 特征点法 选择时让图形的特征点 如线段的端点 圆心等 以强光醒目显示 来拾取对象 边界盒法 对每一个子图预先求一个边界盒或比边界盒大一点的 边界盒 分类法 分别将点 折线 弧等在有关按键的控制下进行拾取 拾取对象的几种方法 拾取设备 解决方法 在图形对象生成时就对每一个对象确定其拾取优先级采用依次对拾取图形设立标志的办法 找距离最近的对象优先拾取 1 利用定位设备 拾取冲突问题 ABE ABCDE AB 计算点P0 x0 y0 到以点 x1 y1 和点 x2 y2 为端点的线段距离 2 指定拾取窗口拾取窗口是以光标位置为中心的一个矩形窗口 3 矩形包围 4 直接键入结构名字交互性较差 速度慢 拾取排斥 设备的评价三个层次 设备层 硬件性能最优化 任务层 单任务 选择最佳的交互设备 对话层 多任务 比较优劣 3 2 2输入模式 输入模式 管理 控制多种输入设备进行工作 常用的输入模式 请求 request 采样 sample 事件 event 上述模式的组合形式 1 请求模式 requestmode 输入设备在应用程序的控制下工作 程序和设备轮流处于工作状态和等待状态 由程序支配输入设备的活动 2 取样模式 samplemode 应用程序和输入设备同时工作 输入设备连续不断地产生数据 并送入数据缓冲区 数据缓存区的内容不断刷新 当程序遇到采样语句要求输入时 从数据缓冲区中读取当前数据 3 事件模式 eventmode 程序和被置成事件方式的设备分别同时独立工作 每次用户在输入设备上完成一个输入操作以及形成的数据叫做一个事件 一般一个事件发生时 往往来不及进行处理 于是 就要把事件按先后次序排成队列 即把输入的信息及该设备的编号等便被存放到事件队列中等待程序的处理 不同的应用程序可到队列中来查询和提取与之有关的事件 事件模式的工作过程 程序遇到事件处理语句时 就按照先进先出的原则从事件队列中取出队首事件予以处理 如果事件队列为空 程序则等待一定的时间片 等待事件的发生 4 输入方式的组合使用现代的计算机图形输入系统往往不是单一地使用一种输入方式 而是多种输入方式的混合使用 即一个应用程序同时可在几种输入模式方式下应用几个不同的输入设备来进行工作 3 3交互式绘图技术 3 3 1基本交互绘图技术 回显 图3 8选择图符的回显 回显约束拖拽引力场 选择菜单的回显 约束在图形绘制过程中对图形的方向 对齐方式等进行规定和校准 技术在屏幕上定义一个可见或不可见的网格 网格线是等间距的水平线和垂直线 其交点为网格点 在使用网格时 任何方式输入的点都将被定位到离该点最近的网格点上 定位约束的示例 定位约束 该技术用于绘制水平或垂直的线段 绘制时 若终点和起点的连线与水平线的夹角小于45 则绘出一条水平线 如下图 否则绘制垂直线 避免人眼或定位设备带来的误差 常应用于印刷线路板 大规模集成电路等设计 方向约束 方向约束示例 可以看做是一种定位约束 用光标进行选图操作时 为了使光标可以较容易地定位选择区域中的图形 可以将图形的选择区域适当变大 这就是引力场方法 例如 在每条线段的周围假想有一个区域 光标中心落在这个区域内时 就自动地被直线上离光标最近的一点所代替 如同一个质点进入直线周围的引力场后 被吸引到这条直线上去一样 注意引力场区域大小的选择要适当 引力场 引力场 3 拖拽 把一个对象放到新的位置 光标移动的同时 对象也跟着光标移动 会使用户感觉直观 从而使得对象的定位更为精确 拖拽的另一种形式 针对输入要求 动态地 连续地将输入过程表现出来 直到产生用户满意的输入结果为止 不同的只是拖动对象的形状随着光标位置的不同而变化 比较容易找到通过一点和一个圆相切的直线的位置 橡筋的形状可以是任意的 可以是矩形 圆 圆弧 自由曲线 也可以是更复杂的图形 橡皮筋 技术 图2 7橡皮筋技术 4 草拟技术用以实现用户任意画图的要求 两种保存方式 点阵式 线段拟合两种采样方式 距离 时间 5 旋转中心旋转角度 图2 10旋转技术 6 形变包括局部形变 图2 11形变技术 3 3 2三维交互技术包括三维输入 三维定位 三维定向 三维选择 三维旋转以及组合功能 三维交互的困难 用户难以区分屏幕上光标选择到对象的深度值和其他显示对象的深度值 键盘 鼠标 数字化仪等交互设备均为二维的 不能适应三维交互工作的需要 3 4OpenGL实现橡皮筋技术 橡皮筋技术的实现方法利用颜色的异或操作 对原有图形并不是擦除 而是再绘制一条同样的直线段并与原图形进行异或操作 此时原图形会从屏幕上消失 利用双缓存技术 绘制图形时分别绘制到两个缓存 交替显示 OpenGL实现橡皮筋技术 鼠标实现鼠标响应函数glutMouseFunc鼠标移动相应函数glutMotionFuncglutPassiveMotionFunc 键盘实现键盘相应函数glutKeyboardFunc OpenGL实现橡皮筋技术 3 5OpenGL实现拾取操作 设置拾取缓冲区voidglSelectBuffer GLsizein GLunint buff 进入选择模式GLintglRenderMode GLenummode 56 OpenGL实现拾取操作 名字堆栈操作初始化名字堆栈 glInitNames 将一个名字压入堆栈 glPushName 替换名字堆栈的栈顶元素 glLoadName 将栈顶元素弹出 glPopName 57 设置合适的变换过程gluPickMatrix xPick yPick widthPick heightPick vp 为每个图元分配名字并绘制切换回渲染模式分析选择缓冲区中的数据 OpenGL实现拾取操作 3 6OpenGL中的菜单功能 菜单注册函数glutCreateMenu ProcessMenu 在菜单中加入菜单项voidglutAddMenuEntry char name GLintvalue 将菜单与某个鼠标按键关联voidglutAttachMenu button 习题三 p71 3 1名词解释 略 3 2什么是用户模型 设计一个好的用户接口要涉及到哪些因素 3 3PHIGS和GKS图形软件标准包括哪六种逻辑设备 简述其逻辑分类方法 3 8在交互输入过程中 常用的管理设备方式有哪些 试分别进行说明 3 11OpenGL编程练习绘制分形图 树方法 先按某一方向画一条直线 然后在此线段上找到一系列节点 在每一节点处向左右偏转60各画一条分枝 节点位置和节点处所画分枝的长度的比值各按0 618分割 编程要点 1 递归调用grow x y length fai

温馨提示

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

最新文档

评论

0/150

提交评论