您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 7.图形系统分析及图形用户界面与交互式技术
计算机图形学第7讲小型图形系统开发简介华中科技大学机械学院CAD中心吴义忠13545009970cad.wyz@hust.edu.cn主要内容关键技术交互技术VCAD介绍OpenGL的交互功能7.1图形系统部分关键技术1)基本图形生成(图形学)2)图形的基础算法(图形学)3)参数化技术4)内存管理技术5)二次开发技术6)通用图形库技术1)基本图形生成(图形学)•直线、圆弧、曲线、字符及其它组合图形的生成与显示算法等•关键在于:效率和稳定性2)图形的基础算法(图形学)1)基本数学运算:如矢量计算、矩阵运算、方程求解、插值计算等2)图形基本算法:如填充算法、相交计算、裁剪算法、曲线离散等3)度量、物性计算:如长度、角度、距离、面积、质量等4)几何验证算法:如是否平行、垂直、相交、干涉及包容性等判断检验等•关键在于:效率和稳定性3)参数化技术提供方便的尺寸定义及图形的参数驱动技术,用户可高效绘制、修改图形。参数化(Parametric)设计也叫尺寸驱动(Dimension-Driven),是CAD技术在实际应用中提出的课题,它不仅可使CAD系统具有交互式绘图功能,还具有自动绘图的功能。目前参数化技术大致可分为如下三种方法:(1)基于几何约束的数学方法;(2)基于几何原理的人工智能方法;(3)基于特征模型的造型方法。其中数学方法又分为初等方法(PrimaryApproach)和代数方法(AlgebraicApproach)。abdce参数化管理工具1)约束定义工具:如共点、共线(同轴)、共面、平行、垂直、距离、角度等2)约束求解算法:约束分解、求解序列规划、数值迭代求解、推理求解等3)变量驱动管理(变量表)能够检查出约束条件不一致,即是否有过约束和欠约束情况出现。算法可靠,即当给定一组约束和物体的拓扑描述后能够解出存在的解。交互操作的求解速度要快,每一步设计操作都能得到及时的响应。在构造形体的过程中允许修改约束。应能容许广泛的尺寸约束类型并且容易为某些特殊应用加入新的约束类型。能适用于二维和三维几何造型的需要。能处理常规CAD数据库中的图样,必要时允许人工干预。参数化设计的基本要求:4)内存管理技术•内存的分配、访问、碎片收集整理•关键在于访问效率,大内存的管理,避免内存泄露•开发工具的选择内存管理对系统影响巨大,直接运行影响效率例如:部分软件运行多次后,速度明显变慢,必须重新启动计算机目前,unix操作系统仍然比windows稳定,其内存管理和系统资源管理更稳定(当然windows历史更短一些)。5)二次开发接口技术•提供通用的调用接口函数,便于模块化,节省代码量,便于维护和扩充•关键在于平台的无关性、兼容性、可移植性•外部接口的稳定性更难以控制6)通用图形库技术•提供通用的图形库定义机制(多用模板机制),便于构建标准件库、常用零件库、用户自定义库等工具•关键在于:图形库定义、添加、修改、删除等维护机制,通常采用数据库管理技术。标准件库管理工具:1)各种标准件库(常用国标库:螺栓联接、轴承、齿轮等,汽车标准件库,飞机标准件库等);2)标准件库管理工具(添加、修改、删除、查询等);3)用户常用零件库管理工具(添加、修改、删除、查询等)。7.2图形交互技术在现代设计过程中,工程师们经常使用CAD/CG系统,把自己的设计构思通过交互设备输入到计算机中,计算机经计算、处理、显示等过程把工程师输入的设计方案反馈给工程师,工程师对反馈进行分析、判断、修正,把新的设计方案再输入到计算机中,如此反复输入、反馈、修改、再输入,直到满意为止。在这个过程中,工程师和计算机之间不断交换信息,完成这种人机交互任务的方法,就称为人机交互技术。随着计算机图形学越来越广泛的应用,人机交互技术也变得越来越重要,成为CG&CAD的一个重要组成部分。人机交互主要靠输入输出的外部设备和相应软件来完成。人机交互使用的设备主要有键盘、显示器、鼠标、各种模式识别设备等。人机交互的主要作用是控制有关设备理解并执行各种命令和要求。早期的人机交互设施是键盘、显示器,通过键盘输入命令,操作系统接到命令后立即执行并将结果通过显示器显示。随着计算机技术的发展,操作命令越来越多,功能越来越强。随着图形技术、模式识别(如语音识别、汉字识别)等输入设备的发展,采用类似于自然语言进行交互成为可能。这些人机交互可称为智能化的人机交互。人机交互技术必要性人机交互技术的发展图形交互设备物理输入设备键盘(Keyboard)鼠标(Mouse)跟踪球(Trackball)操纵杆(Joystick)数字化仪(Digitizer)触摸板(TouchPanel)光笔(LightPen)数据手套(DataGlove)扫描仪(ImageScanner)数码相机(DigitalCamera)逻辑输入设备定位设备(LocatorDevice)笔划设备(StrokeDevice)字符串设备(StringDevice)定值设备(ValuatorDevice)选择设备(ChoiceDevice)拾取设备(PickDevice)图形系统使用逻辑输入设备的概念来减少系统对物理设备的依赖性,提高系统的独立性和灵活性。虽然每种逻辑输入设备的功能都可以用多种图形输入设备来实现,但是有些输入设备却比其它设备更加方便地完成特定的逻辑输入功能。比如说,鼠标和数字化仪擅长于定位,键盘可以方便地输入字符串,光笔适合在屏幕上拾取图形。定位设备用来输入一个位置坐标(x,y),如鼠标等用于输入一系列坐标,可看成是对定位设备的连续调用用来输入一串字符。键盘、手写体识别、语音识别等向图形系统输入数值。如标尺、刻度盘等从一个选择集中挑选出一个元素,如功能键、定位设备用来拾取屏幕上的一些图形对象,如鼠标、光笔等图形交互技术交互技术的出现使得图形系统能提供各种不同的交互功能,使用户能方便、高效地完成传统方法做起来较为困难的工作。常用的交互技术有:对话框、橡皮筋技术、约束技术、网格技术、引力场技术、拖动技术、操作柄技术、菜单技术等。对话框技术DialogueBox用户常常需要从一个选择集中选择多个元素。菜单技术在一个集合中选择一个元素有用,不适合多选,如弹出式菜单在选择后就消失。对话框可以解决上述问题。对话框在确认关闭前一直可见。此外,对话框允许用户从多个选择集中作选择,可以提供输入文本和数值的区域,在用户确认之前都可以修改,并经用户确认后才消失。对话框图示橡皮筋技术RubberBand橡皮筋技术画直线就是在起点确定后,光标移动定终点时,在屏幕上始终显示一条连接起点和光标的直线,该直线随光标位置移动而变动,就像在起点和光标间紧紧地拉着一根橡皮筋。该方法也可画圆弧、矩形等。橡皮筋技术画直线实际上是不断地进行“画-擦(与或模式重画)-画”简易动画过程。即:(1)从起点到光标中心点(x,y)处画图;(2)擦除起点到光标中心点(x,y)处图形;(3)光标移动到新的位置:x=x+△x,y=y+△y(4)转第(1)步,重复这个过程,直到按下确认键为止。约束技术是指交互输入过程中施加特定约束限制条件进行图形交互,如绘制水平线、垂直线、平行线、相切线,给定长度、距离等。CAD中的参数化技术是最常见的约束交互技术。约束技术Constraint网格技术Grid网格是另一类约束技术,它强迫输入点落在屏幕的坐标网格交点上。坐标网通常以线网或点阵网显示在屏幕上,该技术既可用于画线,也可用于定位。网格可取同等间隔并且覆盖整个屏幕,也可以使用部分网格以及在不同屏幕区域有不同大小的网格。引力场技术GravityField(也称捕捉技术,Snap)引力场技术模拟引力场的作用,在每一条线段周围假想有一个区域,光标中心落在这个区域内时,就自动地被直线上最近的一个点所代替,好象一个质点进入了直线周围的引力场,被吸引到这条直线上一样。引力场区域大小要适中,太小了不易进入引力区,太大了会增大误接的概率。引力场区域可为正方形,也可为圆形,但前者计算速度快。拖动就是将形体在空间移动。选择拖动功能后,先在作图区用定位设备拾取某个要拖动的物体,再按住键移动光标,则这个被拾取的物体将随着光标的移动而移动。拖动过程就是不断地进行画、擦、画的动画过程。拖动技术Drag操作柄技术Handle操作柄技术可以用来对图形对象进行缩放、旋转、错切等几何变换。先选择要处理的图形对象,该图形对象的周围会出现八个操作柄,移动或旋转操作柄就可以实现相应的变换。Undo/Redo技术在大型CAD应用软件中均提供了一些无限级的UNDO和REDO功能,使用户编辑修改图形更加方便。菜单技术Menu所谓菜单,就是程序给出的可选操作表,用菜单进行命令和操作选择,菜单技术的特点是:(1)可清楚地在屏幕上显示出可供用户选择的全部选项,就像餐厅点菜的菜单一样,一目了然。(2)可以防止用户选择在范围以外的项目,解决了错误命令问题。(3)菜单很灵活,可以改变内容。菜单技术将程序各项功能或选项通过文字或图形符号进行标识,由用户通过选择设备进行选择。菜单方式分为三种:主菜单、下拉式菜单、弹出式菜单。主菜单始终固定显示在屏幕某区域上。下拉式菜单是当选择某些项才呈现到屏幕上,弹出式菜单用鼠标右键单击某个热区后才呈现到屏幕上,二者都在需要时出现,不需要时立即消失,不会遮挡原显示图形。1)界面屏幕设计图形界面设计人机操作界面是计算机与人交互的窗口。用户界面的好坏,关系到软件是否容易学习和操作、是否成熟可靠、是否高效友好以及是否对用户具有吸引力。良好的用户界面是软件产品实用化、商品化的重要因素之一。界面设计涉及到生理学(人们对环境的感觉),心理学(人们对知识获取的方式),以及人的其它因素(人们如何与机器交互作用)等。界面的屏幕设计涉及屏幕布局、显示内容、字符选用、网格划分、颜色选择等内容,有一些经验和准则可参考。(1)屏幕划分:对称型和非对称型。设计中注意空间优化,突出重点,版面活泼。(2)字符选择:字体、字型、大小、中西文及大小写、对齐方式、间隔、页边空白等。好的设计可给屏幕带来生气,增加可读性。(3)颜色、亮度的选择:避免同时使用光谱边缘色;字符、细线、小物体应避免用蓝色;颜色的效果与周围环境色彩有关;避免红、绿色同时使用。利用颜色把用户注意力吸引到重要信息上,用颜色对信息进行分类,并增强人的兴趣,减少视觉疲劳。2)菜单设计原则大多数图形系统都采用了菜单结构,菜单可是字符串,也可是图标(如工具条)。利用鼠标、光笔、触摸屏等输入设备可以实现菜单选择功能。一般来说,选择项较少的菜单效率较高。通常菜单位于屏幕一侧,使其不影响图形显示,如果菜单内容太多,可把菜单分层,由主菜单引出第二级菜单,由第二级引出下一级菜单,菜单层数不宜超过三层。除了固定菜单外,另一种布局方式是“可移式”菜单,如“弹出式”菜单,它可以在任意屏幕光标处出现。3)界面设计原则(1)保持一致性。界面设计时,应遵从统一的、简单的规则;(2)提供反馈。反馈告诉用户计算机正在进行的操作、结果、出错处理以及下一步应怎样进行等。如果响应时间长,反馈信息就更显重要。(3)尽量减少失误的可能。减少用户的操作失误,引导用户只在有效的范围内工作,不让用户做不允许做的工作。例如没有选择任何东西,就屏蔽“拷贝”操作。(4)提供出错恢复。四种恢复方法:复原(UNDO)、中止(ABORT)、取消(CANCEL)、校正(CORRECT)(5)面向多层次用户。使新手及熟练用户都能找到合适的交互手段。如提供加速键,增加提示信息,可扩充功能及隐藏功能。(6)尽量减少要记忆的内容。(7)提供联机帮助(OnlineHelp),能在操作过程中随时提供帮助。7.3小型图形系统VCAD介绍基本图元创建功能图元选择功能图元编辑功能视窗Zoom功能橡皮筋功能文件功能Undo/Redo功能创建图元全局图元链表:保存模型的全部实体图元CVCadDoc::m_EntityList实体创建过程——对象调用用户输入(CCommand)+创建对象(CEntity)CCommand/CEntity对象及其派生对象图
本文标题:7.图形系统分析及图形用户界面与交互式技术
链接地址:https://www.777doc.com/doc-3300199 .html