第二章 图形系统的标准化和窗口系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机图形学第二章计算机图形的标准化和窗口系统主讲人:刘铭E-MAIL:jlcclm@163.com2020年2月13日3时44分22.4图形软件标准和窗口系统随着计算机图形学应用领域的不断扩大,各种图形软件日益增多,图形设备品种繁多,如果没有统一的标准,对应用软件的开发和移植等工作将造成很多的困难。为了提高图形软件的可移植性、与图形硬件设备的无关性,国际标准化组织(ISO)针对图形系统的不同层次的接口,制定了一系列的国际标准,如图2.4所示,从下往上分别包括:2020年2月13日3时44分3(1计算机图形元文件(ComputerGraphicsMetafile,简称CGM);(2计算机图形接口(ComputerGraphicsInterface,简称CGI);(3)图形软件包,如GKS,GKS-3D,PHIGS,GL等;(4)图形应用接口标准,如IGES和STEP;2020年2月13日3时44分42020年2月13日3时44分5其中,CGM和CGI是面向设备的接口标准。GKS,GKS-3D,PHIGS,GL是面向图形应用软件的标准。IGES和STEP是面向图形应用系统中工程和产品数据模型及其文件交换各式的标准。另外,窗口系统是近年来应用最为广泛的图形化的用户接口,其典型代表有工作站上的X-Windows,Motif和OpenLook,个人计算机上的MicrosoftWindows系列产品,这些窗口系统已成为用户接口事实上的工业标准。理解和学习这些图形软件标准,有助于规范图形系统,涉及符合国际标准的图形软件,以便于图形应用软件的兼容性以及与设备无关性,也便于应用现有的图形软件产品。2020年2月13日3时44分62.4.1计算机图形元文件(CGM)CGM是ANSI1986年公布的标准,1987年成为ISO标准。它是一套与设备无关的图形文件格式的国际标准,它定义了图形文件的语义和词法,以便于不同的图形设备都可以接受这种图形格式。CGM规定了生成、存储、传送图形信息的格式。设计CGM的主要目的是:(1)提供图形存储的数据格式;(2)假脱机绘图的图形协议;(3)为设备接口标准化创造条件;(4)便于检查图形中的错误,保证图形质量;(5)提供了把不同图形系统中所产生的图形集成到一起的一种手段。CGM是一个静态的图形文件格式,即它不能产生所定义图形的动态效果。通用性是CGM的关键属性,广泛适用于各种设备及应用系统。2020年2月13日3时44分7CGM标准主要有两部分组成,其一是功能规格说明,以抽象的词法描述了相应的文件格式,包括元素标志符、含义的定义以及参数描述。其二是描述了CGM的三种标准编码形式,即字符、二进制数和正文编码。CGM的结构如图所示2.4-2所示。每个图形文件中有一个元文件描述体和若干个逻辑上独立的图形描述顺序组成。每个图形描述体由一个图形描述单元和一个图形数据单元构成。2020年2月13日3时44分82020年2月13日3时44分92.4.2计算机图形接口(CGI)CGI(ComputerGraphicsInterface)是ISOTC97提出的图形设备接口标准,其目的是提供控制图形硬件的一种与设备无关的方法,使得有经验的用户最大限度地、灵活地控制图形设备。CGI是图形设备驱动程序的一种标准。通过CGI。可以练结合驱动各种不同的图形设备,真正实现与设备的无关性。CGI是在用户应用程序和虚拟设备之间以一种独立设备的方式提供图形信息的描述和通信,它所提供的功能集包括:(1)控制功能集:包括虚拟设备、坐标空间、出错控制、系统控制、询问功能五个方面的功能;(2)输出功能集:设计图元、属性、对象的构成及有关的控制和询问;2020年2月13日3时44分10(3)图段功能集:定义了图形对象如何组合到图段中,并用唯一的图段标识符标识,还提供了产生、修改和操纵图段的功能;(4)输入和应答功能集:按数据的类型将逻辑输入设备分成八类,即定位、笔划、取值、选择、拾取、字符串、光栅和其它输入设备。每个逻辑设备有四种输入方式,即请求、采样、事件和应答。在应答请求方式下,允许将该逻辑输入设备的当前值应答在相应的CGI虚拟设备上。(5)光栅功能集:提供了产生、检索、修改和显示像素数据的功能。2020年2月13日3时44分112.4.3图形软件包图形软件包是应用程序和图形设备驱动程序之间的接口,应用程序通过调用图形软件包中的图形函数,驱动相应的图形设备,绘出各式各样的图形。作为ISO标准的图形软件包有GKS,GKS-3D,PHIGS,GL等。1.GKS和GKS-3DGKS(GraphicsKernelSystem)提供了在应用程序和图形输入输出设备之间的功能接口,定义了一个独立于语言的图形核心系统。GKS是一个图形软件包,在具体使用时,必须嵌在宿主语言中使用,如C语言等。GKS和具有图形处理功能的程序设计语言是有区别的,程序语言中的图形处理函数是该语言的一2020年2月13日3时44分12部分,语法和语义与具体的语言有关,而GKS是独立于宿主语言之外相对独立的系统,不同的宿主语言都可以调用GKS中的图形处理语句。GKS作为一个图形系统核心,其意义在于它提供的图形功能和各种特殊的图形设备是无关的。GKS中系统可调用的图形输出和输入设备称为图形工作站,它是一个抽象的物理设备。GKS共有六种工作站:输入、输出、输入输出、独立图段存储(WISS)、元文件输出(MO)、元文件输入(MI)工作站。GKS提供了一系列交互和非交互图形设备的全部图形处理功能,包括:控制功能、输出功能、输出属性、变换功能、图组功能、输入功能、询问功能、实用功能、元文件处理和出错处理。2020年2月13日3时44分13GKS包括下列几个基本的图素,即点元素、线元素、字符元素和光栅元素。在GKS中,图素能以图段方式组合,并以图段为单位进行图形输出,各图段由应用程序定义,GKS根据所指定的图段名进行识别与选择,而且还可以对图段进行变换、可见性、改名、监测及删除等一系列操作。GKS采用元文件在图形系统之间传送图形信息,其功能包括GKS元文件的生成、读入和解释等。GKS元文件结构及其读、写过程如图所示。2020年2月13日3时44分142020年2月13日3时44分15GKS是一个二维图形的标准,它不适合三维图形的处理,为此,ISO/IEC制定了三维图形核心系统GKS-3D。GKS-3D是一个完全的三维系统,即所有的图段、图素数据都是三维格式,即使原来的GKS中的二维数据也要转换成三维的格式。GKS-3D的功能包括三维输入、三维图素、三维几何属性、具有视图操作的三维变幻以及隐藏线、面的消除等。GKS-3D和GKS是完全兼容的,它们在功能上可以混合使用,但在GKS-3D处理GKS定义的功能之前,需要把GKS定义的内容转换成三维的格式,即GKS的功能只是在GKS-3D某个具体平面上的实现。2.PHIGSPHIGS(Programmer’sHierarchicalInteractiveGraphicsSystem,程序员层次交互图形系统)是2020年2月13日3时44分16ISO1986年公布的计算机图形标准,它为应用程序员提供控制图形设备的子程序接口标准。与GKS不同,PHIGS的图形数据按照层次结构组织,使多层的应用模型能方便地利用PHIGS进行描述,而且PHIGS提供了动态修改和绘制显示图形数据的手段。PHIGS提供的功能包括以下三个方面的含义:(1)向应用程序员提供了控制图形设备的图形系统接口;(2)图形数据按层次结构组织,使多层次的应用模型能方便地应用PHIGS进行描述;(3)提供了动态修改和绘制显示图形数据的手段。PHIGS是为具有高度动态性、交互性的三维图形应用而设计的图形软件工具库,其最主要的特点是能够在系统中高效率地描述应用模型,迅速修改2020年2月13日3时44分17图形模型的数据,并能绘制显示修改后的图形模型,它也是在应用程序和图形设备之间提供了一种功能接口。PHIGS的标准功能可划分为九个程序模块来分别实现,各模块相对独立,一个模块仅通过系统的公共数据结构与其它模块间接连接。如图所示。2020年2月13日3时44分18图2.4-4PHIGS的程序模块结构2020年2月13日3时44分19PHIGS和GKS-3D的功能类似,但存在以下几个方面的差别:(1)数据结构GKS-3D提供了单层、平面的图形数据结构,其图段用来表示的是图像信息而不是图形的构造信息,图段数据经过坐标规格化变换后,不再是定义该图段的坐标空间的数据。而PHIGS的结构始终是在造型空间中定义的数据。(2)可修改性GKS产生的图段,其内容不能修改,但影响图段整个特征的某些属性,如可见性、高光、可检测性、图段的几何变换等则是可以修改的。而PHIGS中的任何结构,结构中的任何一部分元素则可以在任何时候进行修改。2020年2月13日3时44分20(3)属性的存储GKS把图素属性和图素在一起存入图形数据结构中,为了修改某图段中的一个图素属性,必须去除该图素的旧属性,重新生成一个新属性。在PHIGS中,只有当遍历一个结构并要显示该结构时,其中的图素才变成输出图素,此时,那些属性结构元素才连接到输出图素上,因此,图形数据的修改更容易。2020年2月13日3时44分21(4)输出流水线GKS-3D设置了三种不同的坐标系,首先在用户坐标系(WC)中定义图素,经规格化变换后到规格化设备坐标系(NDC),这是与设备无关的二维直角坐标系,取值范围在0.0到1.0之间。然后,在NDC中经图段变换、规格化裁剪、视图变换及视图映像等操作后,转换到与设备有关的设备坐标系(DC)中进行输出。PHIGS则定义了五种坐标系,其输出流水线为:造型坐标系(MC),经局部、整体变换到用户坐标系(WC),经视图变换到观察坐标系(UVN),在经观察投影变换后到规格化的投影坐标系(NPC),最后经工作站映像到设备坐标系(DC)输出。2020年2月13日3时44分223.GLGL(GraphicsLibrary,图形库)是近年来在工作站上广泛应用的一个工业标准图形程序库,按其功能可划分为如下几类:(1)基本图素:包括点、直线、多边形、三角形、矩形、圆和圆弧、字符、曲线和曲面等;(2)坐标变换:支持旋转、平移、比例变换以及窗口视图变换、投影变换和裁剪,同时支持用户定义的各种变换;(3)设置属性和显示方式:可定义选择线型、填充图案、字体和光标,可设置RGB和颜色表两种选色方式,以及明暗效果、双缓冲、各种位图等多种绘图方式;(4)输入/输出处理:用于启动输入输出设备,并对相应的事件队列进行处理;(5)真实图形的显示:消除隐藏线、面、光照处理和深度排队。2020年2月13日3时44分23GL在UNIX操作系统下运行,具有C、Fortran、Pascal三种语言联编形式。在Windows环境中提供了类似的图形程序库,即OpenGL。GL和GKS-3D、PHIGS三维图形标准相比具有以下特点:(1)图元丰富:除具有一般图元外,还具有B样条曲线、Bezier曲面和NURBS曲面等;(2)强大的颜色功能:GL具有RGB和颜色表索引两种方式,有Gourand和Phong光照模型,使表面显示的亮度与色彩变化柔和;(3)Z缓冲技术:Z缓冲技术是在每个像素上附加一个24位或48位的表示Z值的缓冲存储器,这对曲线曲面的消隐、亮度随深度变化的处理、提高图形处理效率都具有重要的作用;(4)光源:GL提供了充分的光源处理能力,使用户能得到非常生动的图像;(5)X窗口系统:GL既可以单独运行,也可以在X窗口环境下运行,进而可支持网络上的用户。2020年2月13日3时44分242.4.4基本图形转换规范(IGES)IGES(InitialGraphicsExchangeSpecification,基本图形转换规范)是为了解决数据在不同CAD/CAM系统间进行数据传送的问题,它定义一套表示CAD/CAM系统中常用的几何和非几何数据格式以及相应的文件结

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功