《交互式绘图技术PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《交互式绘图技术PPT讲稿.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、交互式绘图技术交互式绘图技术第1页,共65页,编辑于2022年,星期四7.1 交互式绘图概述交互式绘图概述7.2 交互式输入的基本模式交互式输入的基本模式7.3 基本交互绘图技术基本交互绘图技术7.4 交互式绘图系统的构造交互式绘图系统的构造7.5 OpenGL对交互绘图的支持对交互绘图的支持目录目录第2页,共65页,编辑于2022年,星期四7.17.1交互式绘图概述交互式绘图概述7.1.1 7.1.1 交互式绘图的概念交互式绘图的概念7.1.27.1.2交互式绘图系统的交互任务交互式绘图系统的交互任务7.1.37.1.3交互式绘图系统的设计原则交互式绘图系统的设计原则7.17.1交互式绘图概
2、述交互式绘图概述第3页,共65页,编辑于2022年,星期四7.1.1 交互式绘图的概念交互式绘图的概念被动式绘图被动式绘图:依靠程序的运行自动产生图形的绘图方法。依靠程序的运行自动产生图形的绘图方法。主要应用于主要应用于:那些具有成熟计算模型的设计和生产过程中的图形那些具有成熟计算模型的设计和生产过程中的图形生成。生成。交互式绘图交互式绘图:是广泛应用的灵活的绘图方式,它允许用户通过鼠标、是广泛应用的灵活的绘图方式,它允许用户通过鼠标、键盘等交互输入设备在实时操作下进行绘图,即动态的输入坐标、制键盘等交互输入设备在实时操作下进行绘图,即动态的输入坐标、制定选择功能、设置交换参数、以及图形显示期
3、间对图形进行修改、删定选择功能、设置交换参数、以及图形显示期间对图形进行修改、删除、添加、存储等在线操作,允许用户全部徒手绘制图形。除、添加、存储等在线操作,允许用户全部徒手绘制图形。交互式绘图方式因交互式绘图方式因能实现能实现所见即所得的绘图效果、充分发挥人的创所见即所得的绘图效果、充分发挥人的创造性和利用人的积累经验,在造性和利用人的积累经验,在CADCAD、办公室自动化及许多其他领域得、办公室自动化及许多其他领域得到广泛应用。到广泛应用。计算机绘图方式可分为被动式绘图和交互式绘图计算机绘图方式可分为被动式绘图和交互式绘图两种两种。第4页,共65页,编辑于2022年,星期四7.1.2交互式
4、绘图系统的交互任务交互式绘图系统的交互任务定位、选择、文本输入、数值输入定位、选择、文本输入、数值输入 1 1、定位交互任务、定位交互任务用来给应用程序用来给应用程序指定一个点指定一个点的坐标位置的坐标位置(x,y)(x,y)或(或(x,y,z)x,y,z)。完成此任务的完成此任务的典型方法典型方法是定位屏幕坐标。是定位屏幕坐标。定位设备有定位设备有鼠标器、操纵杆、跟踪球、空间球、数字化仪的触针或鼠标器、操纵杆、跟踪球、空间球、数字化仪的触针或手动光标块等,它们可分为绝对坐标的和相对坐标的、直接的和手动光标块等,它们可分为绝对坐标的和相对坐标的、直接的和间接的、离散的和连续的设备类型。间接的、
5、离散的和连续的设备类型。第5页,共65页,编辑于2022年,星期四选择交互任务是选择交互任务是从一个选择集中选择一个元素项目。从一个选择集中选择一个元素项目。具有代具有代表性的选择集是表性的选择集是命令集、属性值集、目标分类集和目标实体命令集、属性值集、目标分类集和目标实体集。集。选择集分为选择集分为固定选择集(如命令集、属性值集、目标分类集)固定选择集(如命令集、属性值集、目标分类集)和可变选择集(如目标实体集)两种。和可变选择集(如目标实体集)两种。常用的选择设备有常用的选择设备有功能键、热键和定位设备等。功能键、热键和定位设备等。2 2、选择交互任务、选择交互任务第6页,共65页,编辑于
6、2022年,星期四文本输入交互任务是文本输入交互任务是输入字符串,如输入一个图形的数据或标注。输入字符串,如输入一个图形的数据或标注。文本输入的典型设备文本输入的典型设备是键盘,当然还有一些其他的设备通过软件帮是键盘,当然还有一些其他的设备通过软件帮助也可以进行字符串的输入,如在屏幕上产生一个软键盘并用定助也可以进行字符串的输入,如在屏幕上产生一个软键盘并用定位设备模拟字符键盘输入、用笔划设备输入字符图形并由识别软位设备模拟字符键盘输入、用笔划设备输入字符图形并由识别软件进行识别输入、用语音设备借助件进行识别输入、用语音设备借助“语音字典语音字典”进行字符串输入进行字符串输入等。等。3 3、文
7、本输入交互任务、文本输入交互任务第7页,共65页,编辑于2022年,星期四定值输入交互任务是定值输入交互任务是在最大值和最小值之间确定一个数值在最大值和最小值之间确定一个数值(整数或实数)。(整数或实数)。用作定值设备用作定值设备:带数字键的键盘可以用作定值设备,拨号盘、带数字键的键盘可以用作定值设备,拨号盘、滑动电位器、跟踪球等的控制旋钮也可用作定值设备,操纵滑动电位器、跟踪球等的控制旋钮也可用作定值设备,操纵杆、跟踪球等设备可将压力或运动对照一个标量范围转换为杆、跟踪球等设备可将压力或运动对照一个标量范围转换为一个标量值,屏幕上显示的标尺、刻度盘、拉杆或按键等利一个标量值,屏幕上显示的标尺
8、、刻度盘、拉杆或按键等利用定位设备也可以进行数值的输入。用定位设备也可以进行数值的输入。4 4、定值输入交互任务、定值输入交互任务第8页,共65页,编辑于2022年,星期四7.1.3交互式绘图系统的设计原则交互式绘图系统的设计原则1、实用性、实用性:功能性和易使用性功能性和易使用性功能性功能性就是必须广泛搜集各类用户对图形处理方面的需求,研就是必须广泛搜集各类用户对图形处理方面的需求,研究、总结、提炼其中共性的需求,提供方便的图形定义、描述、究、总结、提炼其中共性的需求,提供方便的图形定义、描述、输入、修改、操作、输出、管理等方面的功能。如,输入、修改、操作、输出、管理等方面的功能。如,Aut
9、oCAD 2000就是按照客户就是按照客户“期望表期望表”(wish list)的前五项功能来设计的。)的前五项功能来设计的。易使用性易使用性是指界面应该友好,以适应各类用户、满足初学者甚至专家是指界面应该友好,以适应各类用户、满足初学者甚至专家各层次用户的要求。另外,还要求界面必须和人的理解、记忆、通讯各层次用户的要求。另外,还要求界面必须和人的理解、记忆、通讯及解决问题的方式相容,使系统易于学习、便于理解。及解决问题的方式相容,使系统易于学习、便于理解。实用性、可靠性、一致性、简单性、开放性实用性、可靠性、一致性、简单性、开放性第9页,共65页,编辑于2022年,星期四可靠性要求可靠性要求
10、系统尽可能减少错误并具有容错性。系统尽可能减少错误并具有容错性。在系统正常时应对用户输入做出适当的响应,既当用户在系统正常时应对用户输入做出适当的响应,既当用户输入不合法或不正确时,系统应能继续执行下去并与用输入不合法或不正确时,系统应能继续执行下去并与用户进行通讯;户进行通讯;一旦系统某部分出现错误,系统应能尽可能地支持连续一旦系统某部分出现错误,系统应能尽可能地支持连续和一致的用户响应。和一致的用户响应。2 2、可靠性、可靠性第10页,共65页,编辑于2022年,星期四一致性原则是指一致性原则是指在设计系统的各个环节时,应遵从统一的规则,保在设计系统的各个环节时,应遵从统一的规则,保证不出
11、现例外情况。证不出现例外情况。实现一致性的方法实现一致性的方法是对整个系统进行自顶向下的总整体设计,定义是对整个系统进行自顶向下的总整体设计,定义出统一的风格。系统内部各个部分应具有相同的风格和用户通讯,用出统一的风格。系统内部各个部分应具有相同的风格和用户通讯,用户界面体现出与用户交互的一个统一的观点。在输出部分,一个特定户界面体现出与用户交互的一个统一的观点。在输出部分,一个特定的图符应该始终只有一个固定的含义而不能依靠上下文而有所改变;的图符应该始终只有一个固定的含义而不能依靠上下文而有所改变;使用一种颜色编码从而使相同的颜色在不同的情况下不会有不同的含使用一种颜色编码从而使相同的颜色在
12、不同的情况下不会有不同的含义;状态信息显示位置和菜单位置相对固定使用户不必总要寻找等。义;状态信息显示位置和菜单位置相对固定使用户不必总要寻找等。对输入部分,键盘上的功能键、控制键以及鼠标器上的按钮的定义应对输入部分,键盘上的功能键、控制键以及鼠标器上的按钮的定义应前后一致;保持交互命令功能的统一;对于全程命令如帮助、状态取前后一致;保持交互命令功能的统一;对于全程命令如帮助、状态取消等命令可随时发出等。一个复杂的、不一致的模型不仅难以被用户消等命令可随时发出等。一个复杂的、不一致的模型不仅难以被用户理解,而且工作效率很低。理解,而且工作效率很低。3 3、一致性、一致性第11页,共65页,编辑
13、于2022年,星期四 用户通过界面以最简单的方式提出自己的应用要求,便能使用图形系统的全部功能。人们通常仅能同时记住5-7个事件,因而界面应对大量的细节进行抽象处理,对用户隐藏尽可能多的信息,减少用户记忆量。提供提示和菜单是帮助用户学习和使用的有效方式,它可告诉初学者用户一步步该怎么做,对有经验的用户随时提醒下一步该做什么。帮助命令可以提供系统的进一步说明,并让用户操作时随时调用。4 4、简单性、简单性使系统使系统易于易于被用户理解和接受、被用户理解和接受、易于易于操作和使用操作和使用第12页,共65页,编辑于2022年,星期四开放性能够允许开放性能够允许对模块的部分属性和功能进行方便地修改和
14、对模块的部分属性和功能进行方便地修改和扩充,从而使得模块是可维护的,这种可维护性是延长模块扩充,从而使得模块是可维护的,这种可维护性是延长模块生命周期的重要手段。生命周期的重要手段。由于用户类型众多,行业性质、设计标准、使用习惯及由于用户类型众多,行业性质、设计标准、使用习惯及个人背景的不同,对图形处理的要求也不尽相同。在这个人背景的不同,对图形处理的要求也不尽相同。在这众口难调的情况下,很难设计一个通用的能满足所有用众口难调的情况下,很难设计一个通用的能满足所有用户要求的交互式绘图系统。为使系统拥有较长的生命期,户要求的交互式绘图系统。为使系统拥有较长的生命期,系统应能随着人们知识和技术的发
15、展进行修改和扩展,系统应能随着人们知识和技术的发展进行修改和扩展,所以要求系统具有开放性。所以要求系统具有开放性。5 5、开放性、开放性第13页,共65页,编辑于2022年,星期四7.2 交互式输入的基本模式交互式输入的基本模式请求模式、采样模式、事件模式请求模式、采样模式、事件模式 7.2.1 7.2.1 请求模式请求模式7.2.2 7.2.2 采样模式采样模式7.2.3 7.2.3 事件模式事件模式7.2.4 7.2.4 输入模式的组合使用输入模式的组合使用 第14页,共65页,编辑于2022年,星期四7.2.1 7.2.1 请求模式请求模式在请求模式下,应用程序发出从指定输入设备输入数据
16、在请求模式下,应用程序发出从指定输入设备输入数据的请求,接着便等待用户的输入,在得到的请求,接着便等待用户的输入,在得到“允许从该设允许从该设备输入备输入”的应答后便将数据读入。的应答后便将数据读入。在这种模式中,应用程序和输入设备交替工作,当系在这种模式中,应用程序和输入设备交替工作,当系统要求输入而用户没有及时输入时,则整个程序被挂统要求输入而用户没有及时输入时,则整个程序被挂起以等待输入。所以,在设计系统时,若要求用户输起以等待输入。所以,在设计系统时,若要求用户输入则应该安排相应的显示信息以提示用户输入。字符入则应该安排相应的显示信息以提示用户输入。字符和数据的输入适合采用这种方式。和
17、数据的输入适合采用这种方式。第15页,共65页,编辑于2022年,星期四7.2.2 7.2.2 采样模式采样模式在采样模式下,在采样模式下,应用程序和输入设备同时工作应用程序和输入设备同时工作。当输入设备工。当输入设备工作时存储输入数据且不断地更新当前数据,当程序要求输入作时存储输入数据且不断地更新当前数据,当程序要求输入时,程序则对当前数据值进行采样。一种设备一旦被设置成时,程序则对当前数据值进行采样。一种设备一旦被设置成采样输入方式,则不用等待程序的输入语句就可以开始输入采样输入方式,则不用等待程序的输入语句就可以开始输入数据。数据。例如,例如,若鼠标被置为采样模式下的定位设备,则系统会立
18、即存储鼠标若鼠标被置为采样模式下的定位设备,则系统会立即存储鼠标的当前位置坐标,并且随着鼠标的移动实时更新当前位置坐标。的当前位置坐标,并且随着鼠标的移动实时更新当前位置坐标。在采样模式下,由于应用程序不停的测试输入设备,随时读入用在采样模式下,由于应用程序不停的测试输入设备,随时读入用户输入的数据,所以应用程序可以对用户的输入给出实时响应,户输入的数据,所以应用程序可以对用户的输入给出实时响应,这便是采样输入模式的优点。这便是采样输入模式的优点。第16页,共65页,编辑于2022年,星期四7.2.3 7.2.3 事件模式事件模式在进行交互但又在进行交互但又不能预测不能预测何时进行输入的情况下
19、,可采用事件何时进行输入的情况下,可采用事件输入模式。输入模式。一个事件一个事件(Event)(Event)是是用户对输入设备的一次操作以及所形成的数用户对输入设备的一次操作以及所形成的数据。例如用光笔进行拾取操作,它要求在光标检测到光点的瞬间据。例如用光笔进行拾取操作,它要求在光标检测到光点的瞬间记录下拾取的数据,然后再进行较费时的处理,这种情况就适合记录下拾取的数据,然后再进行较费时的处理,这种情况就适合采用事件模式。采用事件模式。事件输入模式就是事件输入模式就是将每次发生的事件通过中断正在执行的程序及时将每次发生的事件通过中断正在执行的程序及时地记录下来,然后由应用程序决定何时进行进一步
20、处理。一般一个地记录下来,然后由应用程序决定何时进行进一步处理。一般一个事件发生时,事件发生时,CPUCPU往往来不及进行处理,于是,需要系统建立一往往来不及进行处理,于是,需要系统建立一个事件队列保存未处理的事件,并按事件发生时间的先后次序排个事件队列保存未处理的事件,并按事件发生时间的先后次序排列。应用程序需要数据时便从该队列以先进先出的策略选择一个列。应用程序需要数据时便从该队列以先进先出的策略选择一个事件进行处理。事件进行处理。当某设备被置成事件输入模式后,当某设备被置成事件输入模式后,程序和设备便同时工作,用户可程序和设备便同时工作,用户可以采取超前输入方式,即用户可以在应用程序需要
21、数据之前开始输入,以采取超前输入方式,即用户可以在应用程序需要数据之前开始输入,这样可以节约交互时间。这样可以节约交互时间。第17页,共65页,编辑于2022年,星期四7.2.4 7.2.4 输入模式的组合使用输入模式的组合使用 以上三种输入模式各有其特点和适用的情况,而在一个实以上三种输入模式各有其特点和适用的情况,而在一个实际的应用程序中往往可应用几个不同的输入设备分别在几种际的应用程序中往往可应用几个不同的输入设备分别在几种不同的输入模式下工作,以便方便地完成交互输入。不同的输入模式下工作,以便方便地完成交互输入。例如,使用鼠标拖动一个图形对象在屏幕上移动,当到达目标位置时,按下鼠标的按
22、钮来终止这种拖动。在这个应用中,鼠标的位置可以采用采样输入模式,而按钮输入则采用事件输入模式。第18页,共65页,编辑于2022年,星期四7.3 基本交互绘图技术基本交互绘图技术7.3.1 7.3.1 定位定位7.3.2 7.3.2 回显回显7.3.3 7.3.3 约束约束7.3.4 7.3.4 网格网格7.3.5 7.3.5 引力域引力域7.3.6 7.3.6 橡皮筋橡皮筋7.3.7 7.3.7 拖动拖动7.3.8 7.3.8 草拟草拟7.3.9 7.3.9 拾取拾取7.3.10 UNDO7.3.10 UNDO和和REDOREDO 第19页,共65页,编辑于2022年,星期四7.3.1 7.
23、3.1 定位定位基本定位就是基本定位就是在屏幕上指定显示位置。可使用鼠标、键盘等交互在屏幕上指定显示位置。可使用鼠标、键盘等交互输入设备在屏幕上移动,至所需位置时按下按钮,定位输入点。输入设备在屏幕上移动,至所需位置时按下按钮,定位输入点。无论是输入字符还是绘图,都要确定其显示位置。例如,对于无论是输入字符还是绘图,都要确定其显示位置。例如,对于字符串,定位点可作为字符串的起始点;对于直线段,需要定字符串,定位点可作为字符串的起始点;对于直线段,需要定位出两个端点。位出两个端点。定位技术的高级应用是定位技术的高级应用是强制定位,或称捕捉(强制定位,或称捕捉(snap)技术,即在按)技术,即在按
24、下交互设备按钮时,将光标的当前点强制定位在最接近的网格点上,下交互设备按钮时,将光标的当前点强制定位在最接近的网格点上,或图元的特殊点(直线或图元的特殊点(直线/圆弧的端点、中点,圆圆弧的端点、中点,圆/圆弧的中心等)圆弧的中心等)作为输入点,方便设计过程。作为输入点,方便设计过程。第20页,共65页,编辑于2022年,星期四7.3.2 7.3.2 回显回显回显可作为定位对象的一种辅助方法。用户希望对定位的位置回显可作为定位对象的一种辅助方法。用户希望对定位的位置数值及其数据参数回显在屏幕上,以便在回显坐标值的指引下数值及其数据参数回显在屏幕上,以便在回显坐标值的指引下获得精确定位。另外,回显
25、也用于选择或拾取对象的确认。获得精确定位。另外,回显也用于选择或拾取对象的确认。图图7.1 7.1 选择一条线段时的回显选择一条线段时的回显 图图7.2 7.2 选择铅笔工具时的回显选择铅笔工具时的回显第21页,共65页,编辑于2022年,星期四7.3.3 7.3.3 约束约束约束就是在图形绘制过程中对图形的方向、对齐方式等进行规定和校约束就是在图形绘制过程中对图形的方向、对齐方式等进行规定和校准。约束可以减轻定位难度。交互绘图系统可以指定多种约束功能,准。约束可以减轻定位难度。交互绘图系统可以指定多种约束功能,最常用的约束是直线的水平或垂直方向的约束。最常用的约束是直线的水平或垂直方向的约束
26、。水平或垂直方向约束的实现方法:通过输入的两个端点判断该水平或垂直方向约束的实现方法:通过输入的两个端点判断该线段接近水平线还是接近垂直线,以确定是实现水平约束还是线段接近水平线还是接近垂直线,以确定是实现水平约束还是垂直约束。如果垂直约束。如果|x2-x1|y2-y1|x2-x1|y2-y1|则显示垂直线段(则显示垂直线段(x1,y1x1,y1)-(x1,y2x1,y2),否则显示水平线段(否则显示水平线段(x1,y1x1,y1)-(x2,y1x2,y1)。)。另外,还可将直线约束成固定角度,例如另外,还可将直线约束成固定角度,例如Autocad2000Autocad2000就允许约束成任意
27、就允许约束成任意指定角度的倍数。若指定角度为指定角度的倍数。若指定角度为4545度,则鼠标可以向度,则鼠标可以向4545度、度、9090度、度、135135度、度、170170度、度、225225度、度、270270度、度、315315度等角度移动。输入坐标还可以度等角度移动。输入坐标还可以约束到预定义的路径,如一个圆弧上等。约束到预定义的路径,如一个圆弧上等。第22页,共65页,编辑于2022年,星期四7.3.47.3.4网格网格网格是叠加在屏幕绘图区的正交直线。在使用网格时,任意输入坐标网格是叠加在屏幕绘图区的正交直线。在使用网格时,任意输入坐标位置被移到最近的网格线的交点上。网格属于一类
28、约束,用于精确定位置被移到最近的网格线的交点上。网格属于一类约束,用于精确定位和对准。位和对准。网格间距可允许用户设定。网格可以在显示和不显示之间转换,网格间距可允许用户设定。网格可以在显示和不显示之间转换,也可使用局部网格,甚至在不同屏幕区域使用不同大小的网格,也可使用局部网格,甚至在不同屏幕区域使用不同大小的网格,以满足各种需要。以满足各种需要。第23页,共65页,编辑于2022年,星期四7.3.5 7.3.5 引力域引力域所谓点的引力域是指点周围的一个区域,凡落在该区域的任意所谓点的引力域是指点周围的一个区域,凡落在该区域的任意输入位置都能被输入位置都能被“吸引吸引”到该点上来,就好像在
29、该区域中存在到该点上来,就好像在该区域中存在一种指向该点的吸引力一样,故称该区域为一种指向该点的吸引力一样,故称该区域为“引力域引力域”。线的。线的引力域能将域内任意点吸引到线段上最靠近该点的位置上。引力域能将域内任意点吸引到线段上最靠近该点的位置上。实现引力域时应注意引力域大小的选择要适当,太大会造成与其实现引力域时应注意引力域大小的选择要适当,太大会造成与其他图元重叠,太小会无助于用户方便、精确地定位。他图元重叠,太小会无助于用户方便、精确地定位。图图7.5 线的引力域线的引力域第24页,共65页,编辑于2022年,星期四7.3.6 7.3.6 橡皮筋橡皮筋橡皮筋技术是指橡皮筋技术是指在以
30、基本定位方法确定起始点后,当前点的在以基本定位方法确定起始点后,当前点的位置随当前鼠标的位置动态、连续地移动,并实时地在起始位置随当前鼠标的位置动态、连续地移动,并实时地在起始点和当前点之间形成动态线的技术。点和当前点之间形成动态线的技术。橡皮筋技术除了能用在线段的绘制外,也可用于矩形、圆及橡皮筋技术除了能用在线段的绘制外,也可用于矩形、圆及圆弧的绘制上。橡皮筋技术适用于需要对图形元素的长度、圆弧的绘制上。橡皮筋技术适用于需要对图形元素的长度、方向、大小、位置等作即时要求的情况。方向、大小、位置等作即时要求的情况。第25页,共65页,编辑于2022年,星期四7.3.7 7.3.7 拖动拖动拖动
31、是拖动是将图形对象在空间移动的过程动态地、连续地表将图形对象在空间移动的过程动态地、连续地表示出来,直到满足用户的位置要求为止。示出来,直到满足用户的位置要求为止。实现拖动实现拖动是把图形是把图形(符号符号)依附于光标上,使图形跟着光依附于光标上,使图形跟着光标移动,直到移至所需位置,再把符号与插入的目标标移动,直到移至所需位置,再把符号与插入的目标图形的其余部分对准。在许多应用场合,拖动技术的图形的其余部分对准。在许多应用场合,拖动技术的使用可以使设计人员不必进行多次定位尝试就能满意。使用可以使设计人员不必进行多次定位尝试就能满意。在三维场景中,用户控制下的物体的平移、旋转、缩在三维场景中,
32、用户控制下的物体的平移、旋转、缩放的动态显示也可由此功能实现。放的动态显示也可由此功能实现。第26页,共65页,编辑于2022年,星期四7.3.87.3.8草拟草拟草拟技术草拟技术用以实现用户任意画图的要求用以实现用户任意画图的要求,如如Windows下画下画图软件中的铅笔工具就实现了草拟功能。草拟技术的图软件中的铅笔工具就实现了草拟功能。草拟技术的实实现方法现方法有两种:有两种:一是一是当光标移动时,沿光标移动的路径保当光标移动时,沿光标移动的路径保留单个点的坐标,并以点阵方式保存草图;留单个点的坐标,并以点阵方式保存草图;二是二是直线或直线或曲线拟合法,即采样取点后用折线或曲线将采样点连接
33、曲线拟合法,即采样取点后用折线或曲线将采样点连接起来逼近草图。采样时的采样取点方法有基于时间和基起来逼近草图。采样时的采样取点方法有基于时间和基于距离两种。于距离两种。第27页,共65页,编辑于2022年,星期四7.3.9 7.3.9 拾取拾取1 1、点的拾取:、点的拾取:若对图中的一点若对图中的一点P1(x1P1(x1,y1)y1)进行拾取,则以进行拾取,则以P1P1为圆心、为圆心、r r为半径定义一个圆形区域,为半径定义一个圆形区域,作为作为P1P1的拾取范围,并称为的拾取范围,并称为P1P1的领域(其中,的领域(其中,r r为设定的拾取精度为设定的拾取精度)。若拾取点。若拾取点P(x,y
34、)P(x,y)满足满足(x-x1x-x1)2+(y-y1)2r22+(y-y1)2r2,,则对则对P1(x1P1(x1,y1)y1)拾取成功。拾取成功。2 2、符号集的拾取:、符号集的拾取:依次对每个符号的参考点进行点的拾取判断,若有满足拾取条件的符号则该依次对每个符号的参考点进行点的拾取判断,若有满足拾取条件的符号则该符号集拾取成功。符号集拾取成功。3 3、直线段的拾取:、直线段的拾取:若拾取点到直线段的距离小于等于设定的领域精度则该直线段拾取成功。若拾取点到直线段的距离小于等于设定的领域精度则该直线段拾取成功。4 4、折线段的拾取:、折线段的拾取:依次判断折线段中每条直线段的领域是否包含拾
35、取点,只要有一条线段包含则该折线依次判断折线段中每条直线段的领域是否包含拾取点,只要有一条线段包含则该折线段拾取成功。段拾取成功。5 5、曲线的拾取:、曲线的拾取:曲线在显示时已离散成折线集,故曲线的拾取则是重复使用折线段的拾取曲线在显示时已离散成折线集,故曲线的拾取则是重复使用折线段的拾取方法。方法。6 6、字符串的拾取:、字符串的拾取:构造一个包含该字符的凸四边形,以对角线的交点为中心,以中心到四构造一个包含该字符的凸四边形,以对角线的交点为中心,以中心到四边中点距离平均值为半径,作圆,当拾取点在该圆内时,则该字符串拾取成功。边中点距离平均值为半径,作圆,当拾取点在该圆内时,则该字符串拾取
36、成功。7 7、多边形的拾取:、多边形的拾取:依次对多边形上每条边进行拾取判断,只要有一条边满足拾取条件则该多边形拾取成功。依次对多边形上每条边进行拾取判断,只要有一条边满足拾取条件则该多边形拾取成功。8 8、多义性拾取的处理:、多义性拾取的处理:多义性拾取是指拾取点落在多个图形显示领域中。此时可采用确定拾多义性拾取是指拾取点落在多个图形显示领域中。此时可采用确定拾取的优先级或用户确认的方法确定拾取对象。取的优先级或用户确认的方法确定拾取对象。9 9、二维图形的拾取:、二维图形的拾取:如果要选择一系列图元,可先用光标定义一个矩形,称为测试盒。如果图形中如果要选择一系列图元,可先用光标定义一个矩形
37、,称为测试盒。如果图形中某一(些)图元位于该测试盒中,则表示这一(些)图元是被选择的对象。某一(些)图元位于该测试盒中,则表示这一(些)图元是被选择的对象。1010、三维图形的拾取:、三维图形的拾取:拾取领域为球或立方体,进行点拾取领域为球或立方体,进行点/面、点面、点/体等包含性测试。体等包含性测试。第28页,共65页,编辑于2022年,星期四7.3.10 UNDO7.3.10 UNDO和和REDOREDOUNDOUNDO(撤消操作)(撤消操作)是指恢复最近执行的操作是指恢复最近执行的操作.REDO REDO(重做操作)(重做操作)是指重新执行最近被撤消的操作。是指重新执行最近被撤消的操作。
38、交互式绘图系统存在频繁的人机交互性操作,而绘图工作又是一种复交互式绘图系统存在频繁的人机交互性操作,而绘图工作又是一种复杂的过程,如果系统没有杂的过程,如果系统没有UNDOUNDO和和REDOREDO功能,则用户的一次操作失误功能,则用户的一次操作失误就可能造成已经花费很长时间所设计的图形全盘作废,这会令用就可能造成已经花费很长时间所设计的图形全盘作废,这会令用户在使用软件时精神十分紧张。户在使用软件时精神十分紧张。目前,在大型应用软件中均目前,在大型应用软件中均提供了一些提供了一些UNDOUNDO和和REDOREDO功能,如功能,如WinWordWinWord、NotePadNotePad等
39、文本软件,等文本软件,画笔、画笔、AutoCADAutoCAD等图形软件和一些游戏软件等。根据执行次数等图形软件和一些游戏软件等。根据执行次数可将可将UNDOUNDO和和REDOREDO的实现分为有限次(的实现分为有限次(1 1次或几次)和无限次两种。次或几次)和无限次两种。UNDOUNDO和和REDOREDO功能的实现涉及数据结构设计、命令执行时的操作功能的实现涉及数据结构设计、命令执行时的操作和交互应用系统中的命令接口设计三方面内容。和交互应用系统中的命令接口设计三方面内容。第29页,共65页,编辑于2022年,星期四7.4 7.4 交互式绘图系统的构造交互式绘图系统的构造7.4.1 7.
40、4.1 交互式用户接口的内容交互式用户接口的内容7.4.2 7.4.2 交互式用户接口的工作方式交互式用户接口的工作方式7.4.37.4.3交互式用户接口的实现交互式用户接口的实现 第30页,共65页,编辑于2022年,星期四7.4.1 7.4.1 交互式用户接口的内容交互式用户接口的内容1 1、屏幕的划分屏幕的划分:显示屏有不同的大小、格式和分辨率,要充分合理地显示屏有不同的大小、格式和分辨率,要充分合理地利用屏幕,就应该对屏幕作适当的划分,来安排个元素。利用屏幕,就应该对屏幕作适当的划分,来安排个元素。2 2、字型的选用字型的选用:字型选的好可给屏幕带来生机。标题、子标题常用字型选的好可给
41、屏幕带来生机。标题、子标题常用黑体字已达到清晰、简单、醒目,大面积应用黑体反而会降低可黑体字已达到清晰、简单、醒目,大面积应用黑体反而会降低可读性。读性。3 3、颜色、灰度的选择颜色、灰度的选择:用不同颜色和灰度标示不同信息、分离不同形用不同颜色和灰度标示不同信息、分离不同形体,对减少错误是非常有效的。选择时以增加视觉效果并减少视体,对减少错误是非常有效的。选择时以增加视觉效果并减少视觉疲劳为原则。另外,接口还应为用户提供方便的颜色选择工具,觉疲劳为原则。另外,接口还应为用户提供方便的颜色选择工具,供用户输入时选择颜色使用。图供用户输入时选择颜色使用。图7.87.8、9 9给出了几种典型的颜色
42、选给出了几种典型的颜色选择方式。择方式。4 4、菜单菜单:是一组功能、对象、数据或其他用户选择实体的列表,在是一组功能、对象、数据或其他用户选择实体的列表,在用户接口中普遍使用。菜单设计以占位置小且选用方便为原则。用户接口中普遍使用。菜单设计以占位置小且选用方便为原则。一般将程序的各种操作命令或选项通过文字形式分层进行组织。一般将程序的各种操作命令或选项通过文字形式分层进行组织。5 5、图符和光标图符和光标:图符和光标是用户接口中出现频率最高、停留时间最图符和光标是用户接口中出现频率最高、停留时间最长的元素,它们是一种形象的图形语言,深受用户欢迎。图形符号长的元素,它们是一种形象的图形语言,深
43、受用户欢迎。图形符号在设计时应以能直观体现功能为原则。在设计时应以能直观体现功能为原则。第31页,共65页,编辑于2022年,星期四几种典型的颜色选择方式几种典型的颜色选择方式:第32页,共65页,编辑于2022年,星期四7.4.2 7.4.2 交互式用户接口的工作方式交互式用户接口的工作方式1 1、固定域输入输出方式、固定域输入输出方式:指设计者在程序中使用有格式的输入输出语句实现人机交互处理。指设计者在程序中使用有格式的输入输出语句实现人机交互处理。特点:特点:使用起来繁琐、易出错、且要求用户了解接口程序。使用起来繁琐、易出错、且要求用户了解接口程序。2 2、问答方式、问答方式:交互过程中
44、的每一步都是通过问答形式实现人机对话。交互过程中的每一步都是通过问答形式实现人机对话。特点:特点:对新用户来说是方便的,但对于熟练用户就显得罗嗦。对新用户来说是方便的,但对于熟练用户就显得罗嗦。3 3、表处理方式、表处理方式:要求设备具有制表功能,所以只适用于数据驱动的用户接口。要求设备具有制表功能,所以只适用于数据驱动的用户接口。4 4、命令语言、命令语言:用户通过输入各种命令与系统交互。用户通过输入各种命令与系统交互。特点:特点:要求用户记忆较多的交互命令。要求用户记忆较多的交互命令。5 5、菜单方式、菜单方式:让用户通过选择菜单进行交互。让用户通过选择菜单进行交互。特点:特点:它方便易学
45、,适用于各类用户,目前在用户接口中普遍采用。缺点是限制了用户使用系统的思它方便易学,适用于各类用户,目前在用户接口中普遍采用。缺点是限制了用户使用系统的思路,不能从不同层次进入,也略显繁琐。路,不能从不同层次进入,也略显繁琐。6 6、图标方式、图标方式:比较接近现实生活中人的活动,它把各种交互操作用形象直观的图形符号表达。比较接近现实生活中人的活动,它把各种交互操作用形象直观的图形符号表达。特点:特点:用户操作计算机就如同在现实生活中处理事物一样自然。但由于图标与操作的不完用户操作计算机就如同在现实生活中处理事物一样自然。但由于图标与操作的不完全一致也会造成用户的费解。全一致也会造成用户的费解
46、。第33页,共65页,编辑于2022年,星期四7.4.3 7.4.3 交互式用户接口的实现交互式用户接口的实现 1 1、界面设计、界面设计 2 2、菜单设计、菜单设计 3 3、工具条设计、工具条设计 4 4、窗口设计、窗口设计 5 5、命令窗设计、命令窗设计 6 6、状态条设计、状态条设计 7 7、视觉效果设计、视觉效果设计 8 8、方便用户、方便用户 交互式用户接口的设计原则交互式用户接口的设计原则交互式用户接口的设计方法交互式用户接口的设计方法第34页,共65页,编辑于2022年,星期四界面设计界面设计应全面考虑显示内容、布局、格式等;应全面考虑显示内容、布局、格式等;反馈信息和屏幕输出反
47、馈信息和屏幕输出应面向用户、指导用户,以满足用户需求应面向用户、指导用户,以满足用户需求为目标;为目标;反馈信息内容反馈信息内容应准确、简洁,并能给出强调的信息显示;应准确、简洁,并能给出强调的信息显示;屏幕显示和布局屏幕显示和布局应美观、清楚、合理;应美观、清楚、合理;合理安排合理安排信息的显示顺序;信息的显示顺序;显示模式显示模式应前后一致;应前后一致;合理选择合理选择文本和图形的显示;文本和图形的显示;使用图形和多窗口显示使用图形和多窗口显示,改善界面输出显示的能力。,改善界面输出显示的能力。1 1、交互式用户接口的设计原则、交互式用户接口的设计原则第35页,共65页,编辑于2022年,
48、星期四2 2、界面设计、界面设计首先关注:首先关注:布局合理、屏幕有效利用。布局合理、屏幕有效利用。其次关注:其次关注:如何最好地设计输出形式以获得最大的可见效如何最好地设计输出形式以获得最大的可见效果。果。图形界面通常将屏幕分成三部分:图形界面通常将屏幕分成三部分:用户工作区、菜单区、用户工作区、菜单区、显示提示及反馈信息区。显示提示及反馈信息区。工作区尽可能大,当菜单和信息区不需要时可以去掉,使工作区扩展至全屏。因屏幕容量有限,因此可采用多窗口显示、弹出式菜单、滚行与移屏、缩放等技术组织显示信息。另外,充分而又准确地使用图符和恰当的使用各种方法进行选择性的信息显示也是界面设计时应重点考虑的
49、。第36页,共65页,编辑于2022年,星期四举例:举例:AutoCAD2000AutoCAD2000的主界面的主界面,主要有标题条、菜单条、命,主要有标题条、菜单条、命令窗、状态条、工具条几部分组成。令窗、状态条、工具条几部分组成。第37页,共65页,编辑于2022年,星期四3 3、菜单设计、菜单设计菜单设计原则:菜单设计原则:菜单菜单占用面积占用面积尽量小,且只暂时占用,点完后应自动绘图屏幕上尽量小,且只暂时占用,点完后应自动绘图屏幕上的图形;的图形;合理命名合理命名各菜单项,并各菜单项,并合理安排合理安排菜单位置以利于提高菜单选取速度;菜单位置以利于提高菜单选取速度;菜单应按种类菜单应按
50、种类合理分组合理分组;菜单用汉字或图标表示以菜单用汉字或图标表示以助于理解和操作助于理解和操作。菜单种类有:菜单种类有:全屏幕文本菜单、下拉式菜单、弹出式菜单、移动亮全屏幕文本菜单、下拉式菜单、弹出式菜单、移动亮条菜单、滚动菜单和图形菜单。条菜单、滚动菜单和图形菜单。软件根据用户选择不同的菜单项而转向相应的程序入口驱动相应软件根据用户选择不同的菜单项而转向相应的程序入口驱动相应的模块。的模块。AutoCADAutoCAD的菜单安排:的菜单安排:AutoCADAutoCAD的大多数命令均可在下拉菜单条中的大多数命令均可在下拉菜单条中找到,它们按不同功能分别放在不同的子菜单中。找到,它们按不同功能