1、3.1.1 交互任务与交互技术交互任务与交互技术 在以交互形式处理问题的过程中,其交互过程可以分解为一系列的基在以交互形式处理问题的过程中,其交互过程可以分解为一系列的基本任务,且每一种交互任务都有一些应用上的要求。本任务,且每一种交互任务都有一些应用上的要求。 交互技术则是完成交互任务的手段,它的实现在很大程度上依赖于交互技术则是完成交互任务的手段,它的实现在很大程度上依赖于设备及其支撑环境。设备及其支撑环境。 1. 1. 交互任务交互任务 与交互过程对应的交互任务通常可以归纳为选择、定位、定向、定与交互过程对应的交互任务通常可以归纳为选择、定位、定向、定路径、定量、文本等任务。路径、定量、
2、文本等任务。 选择选择 选择任务是从一个选择集中挑选所需要的元素,常用的有命令选择、选择任务是从一个选择集中挑选所需要的元素,常用的有命令选择、操作数选择、属性选择和对象选择等。选择集一般分定长和变长两种,操作数选择、属性选择和对象选择等。选择集一般分定长和变长两种,选择任务的完成有基于名字(或标识符)和基于位置(坐标点)两种实选择任务的完成有基于名字(或标识符)和基于位置(坐标点)两种实现方式。现方式。 命令选择命令选择 通过命令窗口或功能菜单(图标按钮),选择执行的操作通过命令窗口或功能菜单(图标按钮),选择执行的操作 操作数选择操作数选择 通过命令窗口或输入对话框,选择通过命令窗口或输入
3、对话框,选择执行的操作步骤或数据。执行的操作步骤或数据。 属性选择属性选择 通过改变选择对象的属性集,完成对不同属性的选择。通过改变选择对象的属性集,完成对不同属性的选择。 对象选择对象选择 通过定位、捕捉、识别等技术,选择需要的操作对象。通过定位、捕捉、识别等技术,选择需要的操作对象。 定位定位 定位任务用来给应用程序指定位置坐标,包括空间定位和语义定位。定位任务用来给应用程序指定位置坐标,包括空间定位和语义定位。 对于空间定位任务,用户知道需要确定的位置与空间相邻几何元素对于空间定位任务,用户知道需要确定的位置与空间相邻几何元素之间的位置关系,通过在图形屏幕上捕捉或直接创建的方式来完成,如
4、之间的位置关系,通过在图形屏幕上捕捉或直接创建的方式来完成,如过两已知圆的圆心画一条直线段。过两已知圆的圆心画一条直线段。 对于语义定位任务,用户需要知道某一位置的准确坐标数据,通常对于语义定位任务,用户需要知道某一位置的准确坐标数据,通常需要键入相关的数值来完成,如过某已知点并沿某个方向键入该点的位需要键入相关的数值来完成,如过某已知点并沿某个方向键入该点的位置增量(或坐标增量)来创建一条直线段。置增量(或坐标增量)来创建一条直线段。 定向定向 定向任务是在指定的坐标系中确定形体的方向,此时需要由应用程定向任务是在指定的坐标系中确定形体的方向,此时需要由应用程序来确定其反馈类型、自由度和精度
5、。序来确定其反馈类型、自由度和精度。 定路径定路径 定路径任务是一系列定位和定向任务的结合,与时间、空间有关。定路径任务是一系列定位和定向任务的结合,与时间、空间有关。 如:动态运动仿真过程,仿真对象随着时间的变化出现在不同的位置和如:动态运动仿真过程,仿真对象随着时间的变化出现在不同的位置和方向上。方向上。 定量定量 定量任务是要在最大和最小数值之间确定一个值。典型的应用是通定量任务是要在最大和最小数值之间确定一个值。典型的应用是通过键盘键入一个数值,或通过在其他数字对话输入工具(如数字度盘、过键盘键入一个数值,或通过在其他数字对话输入工具(如数字度盘、游尺)指定一个数值(如窗口系统中常见的
6、音量控制、对比度调节等)。游尺)指定一个数值(如窗口系统中常见的音量控制、对比度调节等)。 文本文本 文本任务指输入一个字符串到字处理器中,此字符串不应具有指令文本任务指输入一个字符串到字处理器中,此字符串不应具有指令意义,即它不是一个命令。意义,即它不是一个命令。 如:图纸设计中的技术要求标注等。如:图纸设计中的技术要求标注等。 三维交互三维交互 三维交互任务涉及定位、选择和旋转,它比二维交互任务要困难得三维交互任务涉及定位、选择和旋转,它比二维交互任务要困难得多,其主要原因是用户难以区分屏幕上光标所选择对象的深度值与其他多,其主要原因是用户难以区分屏幕上光标所选择对象的深度值与其他显示对象
7、的深度值之间的差异。显示对象的深度值之间的差异。 此外,通用的交互设备(如鼠标、台板等)均为二维,无法适应三此外,通用的交互设备(如鼠标、台板等)均为二维,无法适应三维交互操作的需要。为解决上述问题,三维交互任务通常要借助于三视维交互操作的需要。为解决上述问题,三维交互任务通常要借助于三视图的功能。图的功能。 组合交互组合交互 组合交互任务是上述基本交互任务的组合,主要包括对话框、构造组合交互任务是上述基本交互任务的组合,主要包括对话框、构造和控制。和控制。 其中,对话框用来指定信息表中的多个信息项,如字符属性的字体、其中,对话框用来指定信息表中的多个信息项,如字符属性的字体、颜色、大小等;颜
8、色、大小等; 构造用来产生需要有两个或多个定位的形体,如应用橡皮筋技术绘构造用来产生需要有两个或多个定位的形体,如应用橡皮筋技术绘制图形等;制图形等; 控制用于对已有几何形体的重新定形或定位,如通过改变一个多边控制用于对已有几何形体的重新定形或定位,如通过改变一个多边形的顶点、拖动绘图等来对几何形状进行局部修改。形的顶点、拖动绘图等来对几何形状进行局部修改。 2. 2. 交互技术交互技术 CAD系统通过采用不同的交互技术来完成上述交互任务。系统通过采用不同的交互技术来完成上述交互任务。 选择技术选择技术 选择技术要求确定可选择集合的大小及选择值,这个集合可以是固选择技术要求确定可选择集合的大小
9、及选择值,这个集合可以是固定的,也可以是可变的。选择技术要求有拾取设备(如光笔、鼠标等),定的,也可以是可变的。选择技术要求有拾取设备(如光笔、鼠标等),或者是可以模拟拾取设备的定位设备。或者是可以模拟拾取设备的定位设备。 选择技术通常包括:光笔选择;通过图形输入板或鼠标器控制光标选择技术通常包括:光笔选择;通过图形输入板或鼠标器控制光标选择;通过键入名字、名字缩写、排列的唯一序号或标识码完成选择;选择;通过键入名字、名字缩写、排列的唯一序号或标识码完成选择;用功能键进行选择;以及语音选择和笔划识别等。用功能键进行选择;以及语音选择和笔划识别等。 定位技术定位技术 定位技术用来指定一个坐标,该
10、技术需要确定维数环境,即一维、定位技术用来指定一个坐标,该技术需要确定维数环境,即一维、二维或三维;确定分辨率(即定位精度);以及确定是连续点还是离散二维或三维;确定分辨率(即定位精度);以及确定是连续点还是离散点。点。 定位技术是实现物体在作图空间精确定位的技术,为实现此目的,定位技术是实现物体在作图空间精确定位的技术,为实现此目的,定位技术通常采用图形输入板或鼠标器控制光标定位、键入坐标定位、定位技术通常采用图形输入板或鼠标器控制光标定位、键入坐标定位、光笔或叉丝定位。此外,还经常采用网格、辅助线、比例尺等技术,以光笔或叉丝定位。此外,还经常采用网格、辅助线、比例尺等技术,以提高定位速度和
11、精度,减少定位误差。提高定位速度和精度,减少定位误差。 定向技术定向技术 定向技术是在一个指定的坐标系中规定形体的一个确定方向,在此需要确定向技术是在一个指定的坐标系中规定形体的一个确定方向,在此需要确定坐标系的维数(即自由度)、分辨率、精度和反馈类型,所需的设备为键盘、定坐标系的维数(即自由度)、分辨率、精度和反馈类型,所需的设备为键盘、数值器、定位器等。数值器、定位器等。 定向技术主要有键入角度值、用数字度盘或操纵杆控制方向。定向技术主要有键入角度值、用数字度盘或操纵杆控制方向。 定路径技术定路径技术 定路径技术指在一定的时间或空间内,确定一系列的定位点或方向角。定路径技术指在一定的时间或
12、空间内,确定一系列的定位点或方向角。 产生路径的技术与定位和定向一致,应用方面的要求有定位点的最大数目产生路径的技术与定位和定向一致,应用方面的要求有定位点的最大数目和两个定位点之间的间隔。计算间隔通常采用基于时间和基于距离两种方法,和两个定位点之间的间隔。计算间隔通常采用基于时间和基于距离两种方法,基于时间是按时间采样,基于距离则是按相对位移达到某个距离采样。基于时间是按时间采样,基于距离则是按相对位移达到某个距离采样。 定路径技术需要考虑维数问题、分辨率问题和响应形式。响应形式可以是定路径技术需要考虑维数问题、分辨率问题和响应形式。响应形式可以是平滑的曲线,也可以是带有标志的一系列定位点。
13、平滑的曲线,也可以是带有标志的一系列定位点。 定量技术定量技术 定量技术指在交互过程中,用户在确定精度的前提下,经常需要精确地输定量技术指在交互过程中,用户在确定精度的前提下,经常需要精确地输入一个数值,指定一个确切的数量,采用的设备通常为键盘或电位计。入一个数值,指定一个确切的数量,采用的设备通常为键盘或电位计。 定量技术包括键入数值或改变电位计阻值来产生所要求的数量。定量技术包括键入数值或改变电位计阻值来产生所要求的数量。 文本技术文本技术 文本技术需要确定字符集及字符串的长度。实现文本的技术有键盘输入字文本技术需要确定字符集及字符串的长度。实现文本的技术有键盘输入字 符、符、菜单选择字符
14、、语音识别和笔划识别等。菜单选择字符、语音识别和笔划识别等。 橡皮筋技术橡皮筋技术 橡皮筋技术主要针对变形类的要求,可以动态、连续地将变形过程表示出橡皮筋技术主要针对变形类的要求,可以动态、连续地将变形过程表示出来,直到出现用户满意的结果为止。其中,橡皮筋技术最主要的工作是动态、来,直到出现用户满意的结果为止。其中,橡皮筋技术最主要的工作是动态、连续地改变相关点的设备坐标,如在二维绘图中经常用到的绘圆、绘任意直线连续地改变相关点的设备坐标,如在二维绘图中经常用到的绘圆、绘任意直线等绘图命令。等绘图命令。 徒手画技术徒手画技术 徒手画技术也称为草图勾画技术,主要用来实现用户快速、近似勾画各种徒手
15、画技术也称为草图勾画技术,主要用来实现用户快速、近似勾画各种产品图形的要求。徒手画技术的实现分为基于时间和基于距离采样取点,然后产品图形的要求。徒手画技术的实现分为基于时间和基于距离采样取点,然后用折线或拟合曲线连接采集点,生成对应的图形。用折线或拟合曲线连接采集点,生成对应的图形。 拖动技术拖动技术 拖动技术是将物体在二维或三维空间中的移动过程连续、动态地表现出来,拖动技术是将物体在二维或三维空间中的移动过程连续、动态地表现出来,直至满足用户的位置要求为止。直至满足用户的位置要求为止。 3.1.2 输入控制方式输入控制方式 交互输入过程中的输入控制方式多种多样,这些方式主要取决于程交互输入过
16、程中的输入控制方式多种多样,这些方式主要取决于程序与输入设备之间如何相互作用,通常采用请求、取样、事件序与输入设备之间如何相互作用,通常采用请求、取样、事件3 3种方式。种方式。 请求方式中,只有用输入方式设置命令请求方式中,只有用输入方式设置命令( (或语句或语句) )对相应的设备设置对相应的设备设置需要的输入方式,该设备才能做相应的输入处理。需要的输入方式,该设备才能做相应的输入处理。 取样方式中,一旦对一台或多台设备设置了取样方式,就可以立即取样方式中,一旦对一台或多台设备设置了取样方式,就可以立即进行数据输入,而不必等待程序中的输入语句。进行数据输入,而不必等待程序中的输入语句。 事件
17、方式是指当一台设备被设置成事件方式时,程序和设备将同时事件方式是指当一台设备被设置成事件方式时,程序和设备将同时工作。从设备输入的数据可以存放在一个事件队列或输入序列中,所有工作。从设备输入的数据可以存放在一个事件队列或输入序列中,所有被设置成事件方式的输入数据被设置成事件方式的输入数据( (或事件或事件) )都可以存放在一个事件队列中。都可以存放在一个事件队列中。在任一时刻,事件队列按照输入数据的顺序存放数据,并有一个最大的在任一时刻,事件队列按照输入数据的顺序存放数据,并有一个最大的数据类型项。在队列中的输入数据可以按照逻辑设备类型、工作站编号、数据类型项。在队列中的输入数据可以按照逻辑设
18、备类型、工作站编号、物理设备编码等进行检索。物理设备编码等进行检索。 3.1.3 交互系统的构造交互系统的构造 交互系统的构造主要涉及交互式用户接口的表现形式、工作方式、交互系统的构造主要涉及交互式用户接口的表现形式、工作方式、用户命令集的描述、人用户命令集的描述、人-机对话序列的设计以及实现方式等内容。机对话序列的设计以及实现方式等内容。1. 交互式用户接口的表现形式交互式用户接口的表现形式 交互式人机接口的表现形式主要涉及图形显示屏幕区域划分、显示交互式人机接口的表现形式主要涉及图形显示屏幕区域划分、显示内容、字型的选用、颜色和灰度的设置、系统的开启以及窗口形式、菜内容、字型的选用、颜色和
19、灰度的设置、系统的开启以及窗口形式、菜单格式、图形符号和光标形式等内容。单格式、图形符号和光标形式等内容。 在在CAD应用软件的开发中,交互式用户接口的表现形式经常以主、应用软件的开发中,交互式用户接口的表现形式经常以主、子界面的方式展现在用户面前。开发者应注意的问题包括要使用户接口子界面的方式展现在用户面前。开发者应注意的问题包括要使用户接口界面友好、区域划分合理、菜单格式统一、数据输入便捷等。界面友好、区域划分合理、菜单格式统一、数据输入便捷等。2. 交互式用户接口的工作方式交互式用户接口的工作方式 交互式用户接口的常见工作方式包括固定域输入交互式用户接口的常见工作方式包括固定域输入/输出
20、方式、问答输出方式、问答方式、表处理方式、命令语言、菜单方式和图形符号方式等。方式、表处理方式、命令语言、菜单方式和图形符号方式等。 固定域输入固定域输入/输出方式输出方式 固定域输入固定域输入/输出方式是设计者在程序中用有格式的输入输出方式是设计者在程序中用有格式的输入/输出语输出语句实现人机交互。采用此方式时要求用户对接口程序有所了解,使用时句实现人机交互。采用此方式时要求用户对接口程序有所了解,使用时比较烦琐且容易出错,目前较少使用。比较烦琐且容易出错,目前较少使用。 问答方式问答方式 问答方式在交互过程的每一步均通过问答形式实现人机交互。此方问答方式在交互过程的每一步均通过问答形式实现
21、人机交互。此方式比较适合于新用户,但对熟练用户则显得过于罗嗦。式比较适合于新用户,但对熟练用户则显得过于罗嗦。 表处理方式表处理方式 表处理方式要求设备有制表功能,只适用于数据驱动的用户接口。表处理方式要求设备有制表功能,只适用于数据驱动的用户接口。 命令语言命令语言 命令语言方式较为流行,但需要用户记忆较多的命令。命令语言方式较为流行,但需要用户记忆较多的命令。 菜单方式菜单方式 菜单方式适用于各种用户,该方式具有方便易学的特点,因此在用菜单方式适用于各种用户,该方式具有方便易学的特点,因此在用户接口中广泛采用。但有时由于菜单结构格式的设计不合理会限制用户户接口中广泛采用。但有时由于菜单结构
22、格式的设计不合理会限制用户的使用,使用户不能从不同的层次进入。不过,将平铺式菜单和下拉式的使用,使用户不能从不同的层次进入。不过,将平铺式菜单和下拉式菜单结合使用,以及开辟用户常用菜单区或弹出式工具栏则可以较好地菜单结合使用,以及开辟用户常用菜单区或弹出式工具栏则可以较好地解决这一问题。解决这一问题。 图形符号方式图形符号方式 图形符号方式较接近现实生活中人们的日常活动,即把各种操作用图形符号方式较接近现实生活中人们的日常活动,即把各种操作用图形进行符号化,其界面简洁、生动。但由于图形符号有时无法完全与图形进行符号化,其界面简洁、生动。但由于图形符号有时无法完全与现实操作一致,容易造成用户的误
23、解。现实操作一致,容易造成用户的误解。 目前,目前,CAD软件的用户接口工作方式实际上是上述各种方式的不同软件的用户接口工作方式实际上是上述各种方式的不同组合。应用软件开发人员应根据软件的特点,采用合适的接口工作方式组合。应用软件开发人员应根据软件的特点,采用合适的接口工作方式或组合工作方式来实现人机交互。或组合工作方式来实现人机交互。3. 人人-机对话序列的设计机对话序列的设计 人人-机对话序列通常由两部分组成:指定对话命令和为该命令输入机对话序列通常由两部分组成:指定对话命令和为该命令输入所需要的参数。人所需要的参数。人-机对话序列的设计主要涉及如下的内容。机对话序列的设计主要涉及如下的内
24、容。 对话命令的选择对话命令的选择 菜单驱动的用户接口中,在已经建立的命令树的基础上,一个父结菜单驱动的用户接口中,在已经建立的命令树的基础上,一个父结点的对话行为包括显示一张包含该结点所有子结点名、且按其在命令树点的对话行为包括显示一张包含该结点所有子结点名、且按其在命令树中位置排列的菜单。中位置排列的菜单。 例如,一个绘图模式父结点可能包含绘制直线、圆及圆弧、曲线等例如,一个绘图模式父结点可能包含绘制直线、圆及圆弧、曲线等子模式结点(子结点或命令),而其中某一个子结点(如曲线子结点)子模式结点(子结点或命令),而其中某一个子结点(如曲线子结点)可能又含有可能又含有Bezier曲线、曲线、B
25、样条曲线等命令。因此,当用户选择不同的样条曲线等命令。因此,当用户选择不同的命令模式时,系统应提供不同的菜单序列。命令模式时,系统应提供不同的菜单序列。 对话参数的描述对话参数的描述 人人-机对话参数的描述一般包括顺序对话、分支对话和循环对话,机对话参数的描述一般包括顺序对话、分支对话和循环对话,如如AutoCAD的人的人-机对话就涵盖了这三种情况。机对话就涵盖了这三种情况。 对话动作的描述对话动作的描述 交互系统的每一次人交互系统的每一次人-机对话过程中,系统可能会给出一个菜单序机对话过程中,系统可能会给出一个菜单序列、一个提示信息、弹出一个输入对话框等;当用户输入错误时要显示列、一个提示信
26、息、弹出一个输入对话框等;当用户输入错误时要显示出错信息,并给出某些语义反馈信息。出错信息,并给出某些语义反馈信息。 因此,在交互系统设计中,应根据系统功能完成人因此,在交互系统设计中,应根据系统功能完成人-机对话序列和机对话序列和机制的描述,将实现对话动作的菜单命令、出错信息以及提示信息存储机制的描述,将实现对话动作的菜单命令、出错信息以及提示信息存储在相应的程序文件中,交由系统解释执行并采用必要的控制手段检查用在相应的程序文件中,交由系统解释执行并采用必要的控制手段检查用户输入参数的正确性。户输入参数的正确性。 应用接口的描述应用接口的描述 交互系统和应用程序的连接通常通过应用接口实现。应
27、用接口包括交互系统和应用程序的连接通常通过应用接口实现。应用接口包括一组外部应用过程和函数的定义以及控制对它们的调用的管理程序。一一组外部应用过程和函数的定义以及控制对它们的调用的管理程序。一般需要开发人员定义应用过程和函数。般需要开发人员定义应用过程和函数。 4. 交互式用户接口的实现方式交互式用户接口的实现方式 交互式用户接口通常采用菜单驱动、数据表格驱动和事件驱动等形交互式用户接口通常采用菜单驱动、数据表格驱动和事件驱动等形式。其中,层次分支是基础。无论是菜单驱动、数据表格驱动还是事件式。其中,层次分支是基础。无论是菜单驱动、数据表格驱动还是事件驱动,都应把用户接口所具有的命令功能做成像
28、饭店里的菜单一样,使驱动,都应把用户接口所具有的命令功能做成像饭店里的菜单一样,使其在屏幕上按照层次显示,供用户选择。其在屏幕上按照层次显示,供用户选择。 菜单驱动的交互方式菜单驱动的交互方式 菜单驱动是根据用户选择的菜单项转向相应的程序入口去驱动执行菜单驱动是根据用户选择的菜单项转向相应的程序入口去驱动执行相应的程序模块。菜单驱动的交互方式涉及菜单的组织、选择和驱动等相应的程序模块。菜单驱动的交互方式涉及菜单的组织、选择和驱动等问题。问题。 数据表格驱动方式数据表格驱动方式 数据表格驱动的设计思想是:用户接口接受一条命令的对话过程数据表格驱动的设计思想是:用户接口接受一条命令的对话过程(性质
29、和次数等)由一组预先设计好的控制信息进行控制,所有命令的(性质和次数等)由一组预先设计好的控制信息进行控制,所有命令的全部对话控制信息集中存放在一个控制信息文件;对话过程中所需涉及全部对话控制信息集中存放在一个控制信息文件;对话过程中所需涉及的各种数据(菜单、提示信息、出错信息等)都存放在一个独立的接口的各种数据(菜单、提示信息、出错信息等)都存放在一个独立的接口数据文件中,控制信息通过指针指向所涉及的有关数据。数据文件中,控制信息通过指针指向所涉及的有关数据。 事件驱动方式事件驱动方式 对于事件驱动方式而言,在一个事件驱动程序中,程序将控制交给对于事件驱动方式而言,在一个事件驱动程序中,程序
30、将控制交给用户,用户通过一系列事件驱动程序的动作。该驱动方式的特点是事件用户,用户通过一系列事件驱动程序的动作。该驱动方式的特点是事件可以在任何时候以任何方式进入,程序内核始终处于一个中心循环之中,可以在任何时候以任何方式进入,程序内核始终处于一个中心循环之中,当其每接收一个事件时,便以某种方式做出反应。当其每接收一个事件时,便以某种方式做出反应。 3.2.1 图形核心系统(图形核心系统(GKS和和GKS - 3D) GKS(Graphics Kernel System,图形核心系统)是一个二维图形标,图形核心系统)是一个二维图形标准,准,1977年由前联邦德国提出,年由前联邦德国提出,198
31、5年成为年成为ISO标准。标准。 GKS提供了图形输入提供了图形输入/输出设备与应用程序之间的功能接口,定义输出设备与应用程序之间的功能接口,定义了一个独立于语言的图形核心系统。了一个独立于语言的图形核心系统。GKS在应用中的地位在应用中的地位 应用程序 面向应用层 依赖语言的接口层 操作系统 其他资源 图形资源 GKS GKS独立于图形设备和高级语言,并定义了用高级语言调用图形程独立于图形设备和高级语言,并定义了用高级语言调用图形程序包的接口。用户可以根据自己的要求,在应用程序中调用序包的接口。用户可以根据自己的要求,在应用程序中调用GKS的各种的各种功能,且所编制的应用程序可以方便地在配有
32、功能,且所编制的应用程序可以方便地在配有GKS的不同计算机系统之的不同计算机系统之间进行移植。间进行移植。 但是,由于但是,由于GKS是一个二维图形标准,故不能满足三维图形应用的是一个二维图形标准,故不能满足三维图形应用的要求。为此,要求。为此,ISO/IEC又制定了又制定了GKS-3D图形标准,该标准的制定规则图形标准,该标准的制定规则与与GKS基本一致,在功能上可以混合应用,但基本一致,在功能上可以混合应用,但GKS-3D增加了与三维图增加了与三维图形输入形输入/输出、显示、视图等有关的功能。输出、显示、视图等有关的功能。 3.2.2 程序员层次交互式图形系统(程序员层次交互式图形系统(P
33、HIGS) PHIGS(Programmers Hierarchical Interactive Graphics System,程序员,程序员层次交互式图形系统)层次交互式图形系统) 是由是由ANSI提出、并于提出、并于1986年被年被ISO批准的一个三维图形批准的一个三维图形标准。与标准。与GKS-3D相比,相比,PHIGS同时支持造型和图形显示,图形处理功能更加强同时支持造型和图形显示,图形处理功能更加强大和丰富,在图形数据的组织、管理形式上更为合理。大和丰富,在图形数据的组织、管理形式上更为合理。 PHIGS是为满足具有高度动态性、交互性的三维图形应用而开发的图形软是为满足具有高度动态
34、性、交互性的三维图形应用而开发的图形软件工具库,其主要特点是能够在系统中高效率地描述应用模型、迅速修改图形件工具库,其主要特点是能够在系统中高效率地描述应用模型、迅速修改图形模型数据、并重新绘制和显示修改后的图形模型。同时,与模型数据、并重新绘制和显示修改后的图形模型。同时,与GKS一样,该标准一样,该标准提供了应用程序与图形输入提供了应用程序与图形输入/输出设备之间的一个功能接口。输出设备之间的一个功能接口。PHIGS在应用中在应用中的位置如图所示。的位置如图所示。PHIGS在应用中的地位在应用中的地位 应用程序 面向应用层 语言相关层 操作系统 其他资源 图形资源 PHIGS PHIGS标
35、准包含三方面的含义:标准包含三方面的含义: 向应用程序开发者提供控制图形设备的图形系统接口;向应用程序开发者提供控制图形设备的图形系统接口; 图形数据按照层次结构组织使多层次的应用模型能方便地用图形数据按照层次结构组织使多层次的应用模型能方便地用PHIGS进行描述;进行描述; 提供了动态修改和绘制显示图形数据的方法。提供了动态修改和绘制显示图形数据的方法。 3.2.3 图形程序库图形程序库OpenGL OpenGL是开放的图形程序库(是开放的图形程序库(Open Graphics Library)的简称,)的简称,是近几年发展起来的一个性能卓越的三维图形标准。是近几年发展起来的一个性能卓越的三
36、维图形标准。OpenGL注重于快注重于快速绘制二维、三维对象。它最初由速绘制二维、三维对象。它最初由SGI公司提出,随后得到了包括微软、公司提出,随后得到了包括微软、IBM、DEC、HP、SUN等大公司的支持。目前,等大公司的支持。目前,OpenGL是高性能图是高性能图形处理和交互式视景处理的工业标准,各种专业图形加速卡均以硬件加形处理和交互式视景处理的工业标准,各种专业图形加速卡均以硬件加速速OpenGL作为衡量其性能的主要依据。作为衡量其性能的主要依据。 OpenGL实质上是一个开放的三维图形软件包,它独立于操作系统实质上是一个开放的三维图形软件包,它独立于操作系统及窗口系统,可以非常方便
37、地在各个平台之间移植,它具有开放性、独及窗口系统,可以非常方便地在各个平台之间移植,它具有开放性、独立性和兼容性立性和兼容性3大特点,并为用户提供了建模、变换、颜色模式设定、大特点,并为用户提供了建模、变换、颜色模式设定、光照和材质设定、纹理设定、位图显示和图像增强设定、双缓存动画等光照和材质设定、纹理设定、位图显示和图像增强设定、双缓存动画等7大功能。大功能。 OpenGL是一个优秀的专业化三维图形处理是一个优秀的专业化三维图形处理API(Application Programming Interface, 应用程序接口),已经发展成为因不同应用目应用程序接口),已经发展成为因不同应用目的而
38、经二次开发后的多种版本,其版本因公司的不同而不同。目前,的而经二次开发后的多种版本,其版本因公司的不同而不同。目前,OpenGL的应用领域主要有的应用领域主要有CAD、仿真、科学应用可视化和照片级真实、仿真、科学应用可视化和照片级真实感的游戏场景等。感的游戏场景等。 不同系统间通过不同系统间通过IGES交换数据的过程如图所示。交换数据的过程如图所示。数据库数据库IGES转换器转换器前处理器前处理器后处理器后处理器数据库数据库IGES转换器转换器前处理器前处理器后处理器后处理器IGES系系统统A系系统统B不同不同系统系统间通过间通过IGES交换数据交换数据 STEP描述描述方法方法集成信集成信息资源息资源应用应用协议协议实现实现方法方法一致性一致性测试测试集成通用资源集成通用资源应用解释构件应用解释构件集成应用资源集成应用资源