第 2章 图形系统和标准化
内容提要
图形系统的组成
常用的图形输入输出设备
图形处理器和工作站
图形软件标准和窗口系统
2,1 图形系统的组成与功能
计算机图形系统是计算机图形硬件和图形软
件的集合。图形硬件包括具有图形处理能
力的计算机、图形显示器以及鼠标和键盘
等基本交互工具,还有图形输入板、绘图
仪、图形打印机等输入输出设备,以及磁
盘、光盘等存储设备。图形软件包括计算
机系统软件、高级语言、图形处理软件和
应用软件。
图形系统的组成
计算机
图形显示终端
绘图仪
图形输入板
硬盘
光盘驱动器鼠 标
图形系统的基本功能
一个计算机图形系统至少应当具有计算、存储、对话、输入、输出五个方面的 基本功能。
( 1)计算功能:图形系统应能实现设计过程中所需要的计算、变换和分析功
能,如直线、曲线、曲面等几何因素的生成,坐标的几何变换,线段和形
体间的求交、裁剪计算以及光、色模型的建立等,都需要快速的计算能力。
( 2)存储功能:在计算机的内存、外存中能存放图形数据,尤其是存放形体
几何元素(点、边、面)之间的连接关系以及各种属性信息,并且可基于 设计人员的要求对有关信息进行实时检索、修改、增加、删除等操作。
( 3)对话功能:图形系统应能通过图形显示器及其它人 -机交互设备直接进行
通信。利用定位、拾取等手段,输入或获取各种参数,同时应能领会人的 意图,接收各种命令,实现增、删、改等操作,并能观察设计结果。
( 4)输入功能:把图形设计和绘图过程中的有关定位、定形尺寸及必要的参
数和命令输入到计算机中去。
( 5)输出功能:图形系统应能在屏幕上显示出设计过程当前的状态,经过增、
删、改后的结果,在得到满意的设计结果或其它输出要求时,应能通过绘 图仪、打印机等设备实现硬拷贝输出,以便长期保存。
图形系统的选择
在选择一个图形系统时,首先要对图形硬件和软件的组成做
出合理的选择,其次还要考虑以下的因素:
( 1)系统如何与其他工作过程相互配合,如生产、设计以
及人们的使用经验和习惯;
( 2)经济因素,以最少的投资获得最大的收益,避免浪费;
( 3)系统安装、运行、维护、管理的条件,选择要求硬件
配置低、易于使用和维护的图形系统;
( 4)用户接口,选择界面友好,操作方便的图形系统。
不少用户对图形系统了解不全面,他们只愿意出钱买硬件,
不愿意花钱买软件,这往往也使得图形硬件得不到充分
的发挥。
目前采用的图形系统最流行的是个人计算机图形系统和工作
站,再配上相应的图形输入输出设备和图形软件。
2.2 常用的图形输入输出设备
在一个基本的计算机图形系统中, 图形输入设备
是将用户的图形数据, 各种命令转换成电信号传
送给计算机, 图形输出设备是将计算机处理好的
结果转换成图形呈现在用户面前, 如图形的显示,
绘制和打印 。
2,2,1 图形输入设备
图形输入设备从逻辑上分为六种, 如表 2.1所示 。
但实际的图形输入设备往往是某些逻辑输入功能
的组合 。
表 2.1 图形输入设备的逻辑分类
下面简要介绍几种常见的图形输入设备 。
( 1) 鼠标器 ( Mouse)
鼠标器是一种移动光标和做选择操作的计算机输
入设备, 它和键盘一起成为现在计算机主要的输
入工具 。 随着, 所见即所得, ( What you see is
you want) 环境越来越普及, 使用鼠标器的机会
也越来越多 。 鼠标器的工作原理是:当移动鼠标
器时, 它把移动距离及方向的信息变成电脉冲送
给计算机, 计算机再把电脉冲转换成鼠标器光标
的坐标数据, 从而达到指示位置的目的 。 在图形
系统中, 鼠标器可用来进行图形定位, 选择对象,
拾取图形信息等功能 。
目前常用的鼠标器根据测量位移的部件可分为机
械式, 光电式和光机式三种 。 根据按键可分二键,
三键, 四键式鼠标, 在不同的图形软件中定义鼠
标按键的操作方式和功能各不相同 。 鼠标器按键
一般具有下述五种操作方式,① 点击 ( Click)
是按下一键并立即释放, ② 掀住 ( Press) 是按下
一键不释放, ③ 拖动 ( Grag) 是按下一键不释放,
并移动鼠标器, ④ 同时按住 ( Chord) 是同时按下
两个或三个键, 并且立即释放, ⑤ 改变 ( Change)
是不移动鼠标器, 连续点击同一个键二次或三次,
也称为双击或三击 。
( 2) 坐标数字化仪 ( Digitizer)
坐标数字化仪式一种把图形转变成计算机能够接
收的数字形式专用设备, 是常见的定位设备, 其
基本原理是采用电磁感应技术 。 数字化仪由两部
分组成, 一个是坚固的, 内部有金属栅格阵列的
图板, 在它上面对图形进行数字化;另一个是游
标, 由它来提供图形的位置信息, 一般的游标上
面有一个叉丝和多个按键组成, 如 4键, 16健等,
每个键都可以定义特定的功能 。 如图 2.2所示 。 坐
标数字化仪的工作原理:图板在 x,y方向上布满了
金属栅格, 游标中有一个线圈, 当线圈中通有电
流信号时, 游标十字叉丝的中心便产生一个电磁
场, 当游标在平板上移动时, 平板下的印制线上
就会产生感应电流 。 印制板周围的多路开关等线
路可以检测出最大信号的位置, 即十字叉丝中心
所在的位置, 从而得到该点的坐标值 。
另外一个与坐标数字化仪在结构和原理上类似的
设备叫图形输入板 ( Tabet), 只是面积较小而已,
常见的面积为 280mmΧ 280mm。
在选择和购买坐标数字化仪时要考虑一下主要性
能指标 。
最大有效幅面:指能够有效地进行数字化操
作的最大面积, 一般按工程图纸的规格来划分,
如 A4,A3,A1,A0幅面等 。
数字化速度:由每秒几点到每秒几百点, 大多采
用可变方式, 由用户进行选择 。
最高分辨率:分辨率是指坐标数字化仪的输出坐
标显示值增加 1的最小可能距离, 一般为每毫米几
十线到几百线之间 。 最高分辨率取决于对电磁感
应信号的处理方法和技术 。
( 3) 图形扫描仪
图形扫描仪是直接把图形 ( 如工程图纸 ) 和图像
( 如照片, 广告画 ) 扫描输入到计算机中, 以像
素信息的形式进行存储的设备 。 按照所支持的颜
色分类, 可分为单色扫描仪和彩色扫描仪;按扫
描宽度和操作方式可分为大型扫描仪, 台式扫描
仪和手持式扫描仪 。
图形扫描仪和数码相机等输入设备在计算机中都
是以图像形式存储和显示, 因此是图像处理的常
用设备 。 不过有图形与图像之间关系与转换日益
紧密, 在图形处理系统中也离不开这些设备 。
其它的输入设备还包括光笔、触摸屏、跟踪球、
操纵杆、语音识别器等。
2,2,2 图形输出设备
图形输出设备包括图形显示设备及各种绘图仪和
打印机 。
( 1) 图形显示器
图形显示器是计算机图形系统中不可缺少的设备,
现在使用的图形显示器主要是采用阴极射线管
( CRT) 原理的显示器, 另外还有液晶显示器
( LCD), 等离子显示器等 。 下面主要介绍 CRT显
示器 。
CRT显示器按照所显示的颜色来分,可分为单色
显示器和彩色显示器。按照工作原理可分为随机
扫描图形显示器、存储管式图形显示器和光栅扫
描式图形显示器三种,前两种方式的显示器已基
本被淘汰,现在用的显示器都是光栅扫描式图形
显示器。下面比较详细地介绍光栅扫描式图形显
示器的工作原理,这对图形和图像编程很有帮助。
光栅扫描式图形显示器 ( 简称光栅显示器 ) 是画点
设备, 通过显示器上的像素 ( Pixel) 的亮度, 颜
色来显示不同的形状和颜色的图形 。 光栅显示器
的性能指标主要有以下几条,① 分辨率, 表示显
示器在水平和垂直方向上能够识别出的最大像素
数, 如 640X480,1024X768,1280X1024等; ② 显示
尺寸, 即显示器用于显示图形的面积, 一般用显
示器对角线的距离来衡量, 如 15英寸, 17英寸等;
③ 点间距:即水平两个相邻像素点中心之间的距
离, 如,28mm,.31mm显示器等, 这是将分辨率和
显示尺寸结合起来考虑的一个综合指标, 点间距
越小, 现实的图形或图像就越精细; ④ 显示速度:
一般用显示器每秒刷新屏幕的次数来表 示,
CRT显示器要求刷新频率不低于每妙 20-30帧, 否则
会出现屏幕闪烁现象 。 早期的显示器刷新频率较
低, 为了解决屏幕闪烁现象, 一般采用隔行扫描
线是技术, 而现在的显示器刷新品率一般都在每
秒 50帧以上, 通常都是采用逐行扫描显示技术 。
光栅显示系统由光栅显示器和图形适配器 ( 即显
卡 ) 组成 。 一个黑白光栅显示系统, 在显卡的帧
缓存 ( 即显存 ) 中, 每个像素需要 1位存储单元,
只有 0和 1两个状态, 只能产生黑白图形 。 帧缓存
是数字设备, 光栅显示器是模拟设备, 要把帧缓
存中的信息在光栅显示器屏幕上输出, 必须经过
数字 /模拟 ( D/A) 转换, 在帧缓存中的每一位像
素必须经过存取转换才能在光栅显示器上产生图
形 。 如图 2.3所示 。
在光栅显示器中,需要用足够的位面和帧缓存结
合起来才能反映图形的灰度等级和颜色。图 2.4是
一个具有 N位面灰度等级的帧缓存,即显示器上
每个像素的亮度是由 N个位面中对应的帧缓存单
位中的值控制的,即每一位的二进制值( 0或 1)
被存入指定的寄存器中,该寄存器中的二进制数
被翻译成灰度等级,其范围在 0到 2N-1之间。显示
器的像素地质通常以左上角为屏幕坐标系的原点
( 0,0)。亮度等级经数模转换器 (D/A)变成驱动
显示器电子束的模拟电压,从而显示出不同灰度
的图形或图像。例如,对于具有三个位面的帧缓
存,分辩率是 1024X1024的显示器,需要
3X1024X1024位的存储单元,即 3M,每个像素可
以 表示 23=8级灰度。为了在有限的帧缓存的条件
下显示更多的灰度等级,可以采用查找表技术。
彩色显示器的工作原理如图 2.5所示。对于
红绿蓝( RGB)三原色彩色显示器,每种
颜色对应一个电子枪和帧缓存。如果每个
电子枪对应一个位面的帧缓存,那么三个
颜色的位面可以表示 23=8种不同的颜色。如
果每种颜色的电子枪对应 N个位面的帧缓存,
则每个像素可以表示 2NX2NX2N种颜色,例
如,每种颜色的电子枪对应 8个位面的帧缓
存,则每个像素可以表示 28X28X28=224,即
16777216种颜色,这种显示器称为全色光
栅显示器。
常 用 的 颜 色 有, 黑 色 RGB(0,0,0), 红色
RGB(255,0,0), 绿色 RGB(0,255,0), 蓝色
RGB(0,0,255), 黄色 RGB(255,255,0), 青色
RGB(0,255,255), 紫色 RGB(255,0,255) 和白色
RGB(255,255,255)。
( 2) 打印机 ( Printer)
图形绘制设备就是将图形画在纸上,也称为硬拷
贝设备,分为打印机和绘图仪两种。打印机是廉
价的产生图纸的硬拷贝设备,从机械动作上常分
为撞击式和非撞击式两种。撞击式打印机使用成
型字符通过色带印在纸上,如行式打印机、点阵
打印机等。非撞击式打印机常用的技术有:喷墨
技术和激光技术。喷墨打印机和激光打印机由于
速度快、噪音小,已逐渐替代以往的撞击式打印
机。
( 3) 绘图仪 ( Plotter)
现在常用的是笔式绘图仪( Pen Plotter)。所谓笔
式绘图仪就是用墨水笔进行绘图,它是矢量设备,
绘图笔相对图纸做随机移动。笔式绘图仪分为滚
筒式和平板式两种。顾名思义,平板式笔式绘图
仪是在一块平板上铺上图纸进行画图,绘图笔分
别由 X,Y两个方向进行驱动。而滚筒式绘图仪是
在一个滚筒上画图,图纸在一个方向(如 X方向)
滚动,而绘图笔在另一个方向(如 Y方向)移动。
如图 2.6所示。两类绘图仪都有各自的系列产品,
其绘图幅面从 A3到 A0以及加长 A0等。
笔式绘图仪的主要性能指标包括:最大绘图幅面,
绘图速度, 优化绘图以及绘图所用的语言等 。
在主机向绘图仪发送图形数据的同时, 还要发送
指挥绘图仪实现各种动作的命令, 如抬笔, 落笔,
画直线段, 画圆弧等, 然后由绘图仪去解释这些
命令并执行之 。 这些命令格式称为绘图语言 。 在
每种绘图仪中都有自己的绘图语言, 其中 HP公司
的 HPGL绘图语言应用最广泛, 并可能成为各种绘
图仪未来移植的标准语言 。
除此之外,还有静电绘图仪、喷墨绘图仪等。
2.3 图形处理器和工作站
2.3.1 图形处理器
在图形硬件系统中, 为了减轻主机负担, 加快图形
处理速度, 一般都有两个以上的处理器部件, 采
用流水线, 并行处理等技术 。 除了中央处理器
( CPU) 之外, 还有一个 专用的 显示处理 机
( DPU),用来与 CPU交互作用和控制显示设备的操
作 。 按照功能的不同, 可分为简单图形处理器,
单片图形处理器和个人计算机图形卡等多种形式 。
( 1) 简单图形处理器
个人计算机上采用的光栅图形系统含有一个 CPU、系
统总线、主存、帧缓存、视频控制器和一个 CRT,
如图 2.3.1( a)所示。在这种结构的图形系统中,
显示刷新频率和重新编址次数都很高,视频控制
器对内存的存取操作次数也比较多,从而降低了
CPU的工作速度。为此,在如图 2.3.1( b)所示的
结构中,增加一个图形显示处理器( DPU),专门
用于执行有关图形处理的功能,如扫描转换、光
栅操作等,同时还设置了专门的图像刷新帧缓冲
存储器。因此,这种图形系统具有两个处理器,
即一个是通用处理器( CPU),用于计算机正常的
计算处理,另一个是显示处理器( DPU),专用于
图形的处理。三个存储器,即系统存储器(主
存)、显示处理存储器和帧缓冲存储器。系统存
储器存放由 CPU执行的程序、图形指令和操作系统
命令等;显示处理存储器用于存放扫描转换和光
栅操作的程序;帧缓冲存储器存放扫描转换和光
栅操作所产生的图像数据。
到目前为止还没有一种图形系统能满足显示图形
的复杂性和真实性, 其中最主要的问题有两个,
即帧缓冲存储器的存取速度和 CPU处理复杂图形的
速度 。 由于帧缓冲存储器的存取速度和 CPU处理复
杂图形的速度不能满足大量图形数据的处理速度,
因此必须采用一些改进的措施 。
( 2) 单片图形处理器
单片图形处理器是视频控制器和显示处理功能的
结合, 目前在市场上广泛使用的单片图形处理器
有两种, 一是美国 Texas仪器公司的 TMS 34020,
另一种是美国 Intel公司的 i860。
TMS 34020是用在 PC个人计算机上加速二维图形
的显示与处理,与其匹配的还有 TMS 34082浮点
处理器,用来加速三维图形的几何变换和裁剪。
TMS 34020是一个可独立编程的 32位处理器。
Intel i860是第一个能直接处理三维图形的微处
理器芯片,其追求的目标是三维图形处理的高性
能、低价格和高集成度。在 Intel i860中含有高
性能的 CPU及高速缓存、输入 /输出控制器以及支
持特殊指令的逻辑单元。对于有主 CPU的计算机,
i860可作为图形显示处理器; i860也可以作为独
立的单片处理机。
( 3) 个人计算机图形卡
在个人计算机上,将用于图形显示的处理器
( DPU)、显示处理存储器、帧缓冲存储器以及视
频处理控制器等集成在一起(图 2.3.1(b)中虚框
部分),单独做成一块板,称为图形显示适配器
( Graphic Display Adapter,简称显卡)。
1981年 IBM公司推出 PC机时提供了两种显卡,一
种是单色显示卡(简称 MDA),分辨率为 720X350,
另一种是彩色图形显示器(简称 CGA),分辨率
为 640X200。 1985年推出了增强型的图形适配器
(简称 EGA)以及随后采用的视频图形适配器
(简称 VGA),作为标准设备已广泛应用于 PC计算
机。 80年代末期推出的 TVGA和 SVGA显卡除了完
全兼容 MDA/CGA/EGA/VGA外,还支持分辨率高
达 60行 X132列的字符模式和 1024X768,256种颜
色的图形模式。 1990年,IBM公司发布了 XGA图
形显示卡,能够支持 16位真彩色工作方式。
在对媒体技术和电脑游戏日益普及的今天,显卡
已成为 PC机中重要的部件,它直接决定图形、图
像和视频动画的显示质量。在购买显卡时,要考
虑它能支持的最大分辨率,显示的颜色( 24位或
32位真彩色),显存和缓存的大小等因素。
2.3.2 工作站
工作站起源于 20世纪 70年代,但是一些专家在设
想下一代计算机时提出来的,其目的是想为程序
设计人员提供一个功能强大、界面友好、图形设
计和程序设计方便的高档计算机。 1973年美国施
乐( Xerox)研究中心生产出第一台工作站样机,
取名为 Alto。 Alto采用了当时先进的计算机硬件设
备和技术,如光栅显示器,使图文并茂,采用了
鼠标器和光笔等交互设备等,同时 Alto还安装了
传输速率为 3MB/S的实验以太网,增强了计算机
之间的通信及数据传输能力。直到 1980年才正式
推出商品化的工作站产品,1980年美国 Apollo公
司推出 Domain工作站,1981年 Sun公司推出 Sun/1
工作站,Xerox公司推出了面向办公自动化的 Star
工作站,这些工作站都是采用 Unix或类似于 Unix
操作系统,从而使 Unix进一步得到普及。进入 90
年代,工作站作为独立的机种在计算机行业中得
到普及,并逐年处于上升的地位,特别是在
CAD/CAM,电脑动画、影视制作等图形系统行业。
工作站是具有高速的科学计算、丰富的图形功
能处理、灵活的窗口及网络管理功能的交互式计
算机系统。一般地说,工作站具有如下的特点:
( 1) 具有 32位或 64位字长的 CPU,广泛采用精简
指令系统( RISC);
( 2) 配备大容量的内存和外存,运算速度很高,
可达 20MIPS和 5MFLOPS以上;
( 3) 一般采用 UNIX及类似的操作系统,配有高
性能的窗口管理系统,如 Motif或 OpenLook等;
( 4) 具有很强的图形图像处理功能, 配有专用
的图形图像处理器, 大尺寸高分辨率的显示器,
如 19英寸或 21英寸, 1280X1024以上的分辨率, 颜
色深度可达 100个位面以上;
( 5) 具有网络功能, 支持 TCP/IP协议;
( 6) 基本用户是工程和产品的设计师,主要用于
工程和产品的设计与绘图、工业模拟和艺术设计
等。
从用户角度来看,除工作站比大、中、小型计
算机价格便宜外,更主要的是工作站将多种功能
集于一身,体积小,通常配有高分辨率的大屏幕
显示器及容量很大的内存储器和外部存储器,并
且具有较强的信息处理功能和高性能的图形、图
像处理功能以及联网功能,为程序设计人员提供
一个功能强大, 使用方便的工作环境 。 根据工作站
本身的特点, 从使用的方便性来讲, 它更类似于
PC机, 有人说:工作站是高档的 PC机;从功能和
性能方面, 它越来越多地覆盖了大, 中, 小型计
算机的应用领域 。
常用的工作站有 Sun Microsystem公司的 Sun Sparc
工作站,HP公司的 HP-PA工作站,DEC公司的
Alpha工作站,IBM公司的 RS/6000工作站以及 SGI
( Silicon Graphics)公司的 IRIS工作站。其中,
Sun Sparc工作站是美国 Sun Microsystem公司在 90
年代的主流产品,从 1990年连续多年在工作站销
售市场上名列榜首。主要产品有 SPARC Station
2(简称 SS2),SPARC Station 10(简称 SS10)、
SPARC Station 20(简称 SS20)等。操作系统采用
SunOS和 Solaris,图形支持 XLIB,XGL、
PostScript等,窗口系统支持 Open Window,Xview
和 SunView,但处理机速度达 100MIPS。 DEC公司
1993年推出的 Alpha工作站是当时单 CPU速度最快
的 RISC工作站芯片,字长 64位,峰值处理速度达
400MIPS。 SGI工作站图形处理能力很强,特别适
合图形处理和产品设计领域。
评价工作站性能的指标主要是开放性、计算能
力、图形处理和网络能力四个方面。开放性是指
独立于各厂商并遵循国际标准的应用开发平台,
包括操作系统、网络系统、窗口系统和开发工具
等部分组成。在开放环境下开发的应用软件可保
证它们的交互操作性、规模可变性、可移植性及
相互连接性。对计算能力、图形处理和网络能力
等性能的评测常采用基准测试法,即选择具有代
表性的各类应用或具有某种特性的程序组作为
基准测试程序,通过在目标工作站上实际运
行这些程序得到有关的测试数据,通过这
些数据可客观地对工作站进行测试。
另外,在选择工作站时,需要把工作站的
设计生产公司与 CAD/CAM系统集成开发公
司区分开来,前者主要是从事工作站硬件
及其系统软件的开发和生产,如 Sun,SGI
等公司,而后者主要从事 CAD/CAM支撑软
件和应用软件的开发以及与工作站的集成,
如 Computer Vision公司( Proengineer 软
件),SDRC公司( IDEAS软件)。
2.4 图形软件标准和窗口系统
随着计算机图形学应用领域的不断扩大, 各种图形
软件日益增多, 图形设备品种繁多, 如果没有统
一的标准, 对应用软件的开发和移植等工作将造
成很多的困难 。 为了提高图形软件的可移植性,
与图形硬件设备的无关性, 国际标准化组织 ( ISO)
针对图形系统的不同层次的接口, 制定了一系列
的国际标准, 如图 2.4所示, 从下往上分别包括:
( 1) 计算机图形元文件 ( Computer
Graphics Metafile,简称 CGM) ;
( 2) 计算机图形接口 ( Computer Graphics
Interface,简称 CGI) ;
( 3) 图形软件包, 如 GKS,GKS-3D,PHIGS,
GL等;
( 4) 图形应用接口标准, 如 IGES和 STEP;
其中, CGM和 CGI是面向设备的接口标准 。 GKS,
GKS-3D,PHIGS,GL是面向图形应用软件的标准 。
IGES和 STEP是面向图形应用系统中工程和产品数
据模型及其文件交换各式的标准 。
另外, 窗口系统是近年来应用最为广泛的图形化
的用户接口, 其典型代表有工作站上的 X-Windows,
Motif和 OpenLook,个人计算机上的 Microsoft
Windows系列产品, 这些窗口系统已成为用户接口
事实上的工业标准 。
理解和学习这些图形软件标准, 有助于规范图形
系统, 涉及符合国际标准的图形软件, 以便于图
形应用软件的兼容性以及与设备无关性, 也便于
应用现有的图形软件产品 。
2,4,1 计算机图形元文件 ( CGM)
CGM是 ANSI 1986年公布的标准, 1987年成为 ISO标
准 。 它是一套与设备无关的图形文件格式的国际
标准, 它定义了图形文件的语义和词法, 以便于
不同的图形设备都可以接受这种图形格式 。
CGM规定了生成, 存储, 传送图形信息的格式 。 设
计 CGM的主要目的是,( 1) 提供图形存储的数据
格式; ( 2) 假脱机绘图的图形协议; ( 3) 为设
备接口标准化创造条件; ( 4) 便于检查图形中的
错误, 保证图形质量; ( 5) 提供了把不同图形系
统中所产生的图形集成到一起的一种手段 。
CGM是一个静态的图形文件格式, 即它不能产生所
定义图形的动态效果 。 通用性是 CGM的关键属性,
广泛适用于各种设备及应用系统 。
CGM标准主要有两部分组成, 其一是功能规
格说明, 以抽象的词法描述了相应的文件
格式, 包括元素标志符, 含义的定义以及
参数描述 。 其二是描述了 CGM的三种标准编
码形式, 即字符, 二进制数和正文编码 。
CGM的结构如图所示 2.4-2所示 。 每个图形
文件中有一个元文件描述体和若干个逻辑
上独立的图形描述顺序组成 。 每个图形描
述体由一个图形描述单元和一个图形数据
单元构成 。
2,4,2 计算机图形接口 ( CGI)
CGI(Computer Graphics Interface)是 ISO TC97提
出的图形设备接口标准, 其目的是提供控制图形硬
件的一种与设备无关的方法, 使得有经验的用户最
大限度地, 灵活地控制图形设备 。 CGI是图形设备
驱动程序的一种标准 。 通过 CGI。 可以练结合驱动
各种不同的图形设备, 真正实现与设备的无关性 。
CGI是在用户应用程序和虚拟设备之间以一种独立
设备的方式提供图形信息的描述和通信, 它所提供
的功能集包括:
( 1) 控制功能集:包括虚拟设备, 坐标空间, 出
错控制, 系统控制, 询问功能五个方面的功能;
( 2) 输出功能集:设计图元, 属性, 对象的构成
及有关的控制和询问;
( 3) 图段功能集:定义了图形对象如何组
合到图段中, 并用唯一的图段标识符标识,
还提供了产生, 修改和操纵图段的功能;
( 4)输入和应答功能集:按数据的类型
将逻辑输入设备分成八类,即定位、笔划、
取值、选择、拾取、字符串、光栅和其它
输入设备。每个逻辑设备有四种输入方式,
即请求、采样、事件和应答。在应答请求
方式下,允许将该逻辑输入设备的当前值
应答在相应的 CGI虚拟设备上。
(5) 光栅功能集:提供了产生, 检索, 修
改和显示像素数据的功能 。
2,4,3 图形软件包
图形软件包是应用程序和图形设备驱动程序之间
的接口, 应用程序通过调用图形软件包中的图形
函数, 驱动相应的图形设备, 绘出各式各样的图
形 。 作为 ISO标准的图形软件包有 GKS,GKS-3D,
PHIGS,GL等 。
1,GKS和 GKS-3D
GKS(Graphics Kernel System)提供了在应用程序
和图形输入输出设备之间的功能接口, 定义了一
个独立于语言的图形核心系统 。 GKS是一个图形软
件包, 在具体使用时, 必须嵌在宿主语言中使用,
如 C语言等 。
GKS和具有图形处理功能的程序设计语言是有区
别的,程序语言中的图形处理函数是该语言的一
部分,语法和语义与具体的语言有关,而 GKS是
独立于宿主语言之外相对独立的系统,不同的宿
主语言都可以调用 GKS中的图形处理语句。
GKS作为一个图形系统核心,其意义在于它提供
的图形功能和各种特殊的图形设备是无关的。 GKS
中系统可调用的图形输出和输入设备称为图形工
作站,它是一个抽象的物理设备。 GKS共有六种工
作站:输入、输出、输入输出、独立图段存储
( WISS)、元文件输出( MO)、元文件输入 (MI)
工作站。
GKS提供了一系列交互和非交互图形设备的全
部图形处理功能,包括:控制功能、输出功能、
输出属性、变换功能、图组功能、输入功能、询
问功能、实用功能、元文件处理和出错处理。
GKS包括下列几个基本的图素,即点元素、
线元素、字符元素和光栅元素。
在 GKS中, 图素能以图段方式组合, 并以图
段为单位进行图形输出, 各图段由应用程
序定义, GKS根据所指定的图段名进行识别
与选择, 而且还可以对图段进行变换, 可
见性, 改名, 监测及删除等一系列操作 。
GKS采用元文件在图形系统之间传送图形
信息,其功能包括 GKS元文件的生成、读入
和解释等。 GKS元文件结构及其读、写过程
如图所示。
GKS是一个二维图形的标准, 它不适合三维图形的
处理, 为此, ISO/IEC制定了三维图形核心系统
GKS-3D。 GKS-3D是一个完全的三维系统, 即所有
的图段, 图素数据都是三维格式, 即使原来的 GKS
中的二维数据也要转换成三维的格式 。 GKS-3D的
功能包括三维输入, 三维图素, 三维几何属性,
具有视图操作的三维变幻以及隐藏线, 面的消除
等 。 GKS-3D和 GKS是完全兼容的, 它们在功能上可
以混合使用, 但在 GKS-3D处理 GKS定义的功能之前,
需要把 GKS定义的内容转换成三维的格式, 即 GKS
的功能只是在 GKS-3D某个具体平面上的实现 。
2,PHIGS
PHIGS(Programmer’s Hierarchical Interactive
Graphics System,程序员层次交互图形系统 )是
ISO1986年公布的计算机图形标准, 它为应用程序
员提供控制图形设备的子程序接口标 准 。 与 GKS
不同, PHIGS的图形数据按照层次结构组织, 使多
层的应用模型能方便地利用 PHIGS进行描述, 而且
PHIGS提供了动态修改和绘制显示图形数据的手段 。
PHIGS提供的功能包括以下三个方面的含义:
( 1) 向应用程序员提供了控制图形设备的图形系
统接口;
( 2) 图形数据按层次结构组织, 使多层次的应用
模型能方便地应用 PHIGS进行描述;
( 3) 提供了动态修改和绘制显示图形数据的手段 。
PHIGS是为具有高度动态性, 交互性的三维图形应用
而设计的图形软件工具库, 其最主要的特点是能
够在系统中高效率地描述应用模型, 迅速修改
图形模型的数据, 并能绘制显示修改后的图
形模型, 它也是在应用程序和图形设备之
间提供了一种功能接口 。
PHIGS的标准功能可划分为九个程序模
块来分别实现,各模块相对独立,一个模
块仅通过系统的公共数据结构与其它模块
间接连接。如图所示。
图 2.4-4 PHIGS的程序模块结构
PHIGS和 GKS-3D的功能类似, 但存在以下几个方面
的差别:
( 1) 数据结构
GKS-3D提供了单层, 平面的图形数据结构,
其图段用来表示的是图像信息而不是图形的构造
信息, 图段数据经过坐标规格化变换后, 不再是
定义该图段的坐标空间的数据 。 而 PHIGS的结构始
终是在造型空间中定义的数据 。
( 2) 可修改性
GKS产生的图段, 其内容不能修改, 但影响图
段整个特征的某些属性, 如可见性, 高光, 可检
测性, 图段的几何变换等则是可以修改的 。 而
PHIGS中的任何结构, 结构中的任何一部分元素则
可以在任何时候进行修改 。
( 3) 属性的存储
GKS把图素属性和图素在一起存入图形
数据结构中, 为了修改某图段中的一个图
素属性, 必须去除该图素的旧属性, 重新
生成一个新属性 。 在 PHIGS中, 只有当遍历
一个结构并要显示该结构时, 其中的图素
才变成输出图素, 此时, 那些属性结构元
素才连接到输出图素上, 因此, 图形数据
的修改更容易 。
( 4)输出流水线
GKS-3D设置了三种不同的坐标系,首先在
用户坐标系( WC)中定义图素,经规格化变换
后到规格化设备坐标系( NDC),这是与设备无
关的二维直角坐标系,取值范围在 0.0到 1.0之间。
然后,在 NDC中经图段变换、规格化裁剪、视图
变换及视图映像等操作后,转换到与设备有关的
设备坐标系 (DC)中进行输出。
PHIGS则定义了五种坐标系,其输出流水线
为:造型坐标系 (MC),经局部、整体变换到用户
坐标系( WC),经视图变换到观察坐标系
( UVN),在经观察投影变换后到规格化的投影
坐标系 (NPC),最后经工作站映像到设备坐标系
(DC)输出。
3,GL
GL(Graphics Library,图形库 )是近年来在工
作站上广泛应用的一个工业标准图形程序库,按
其功能可划分为如下几类:
( 1)基本图素:包括点、直线、多边形、三角形、
矩形、圆和圆弧、字符、曲线和曲面等;
( 2)坐标变换:支持旋转、平移、比例变换以及
窗口视图变换、投影变换和裁剪,同时支持用户
定义的各种变换;
( 3)设置属性和显示方式:可定义选择线型、填
充图案、字体和光标,可设置 RGB和颜色表两种
选色方式,以及明暗效果、双缓冲、各种位图等
多种绘图方式;
( 4)输入 /输出处理:用于启动输入输出设备,并
对相应的事件队列进行处理;
( 5)真实图形的显示:消除隐藏线、面、光照处
理和深度排队。
GL在 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窗口环境下运行,进而可支持网络
上的用户。
在第六章讲三维曲面时,要讲解 OpenGL的编程。
2,4,4 基本图形转换规范( IGES)
IGES(Initial Graphics Exchange
Specification,基本图形转换规范 )是为了
解决数据在不同 CAD/CAM系统间进行数据
传送的问题,它定义一套表示 CAD/CAM系
统中常用的几何和非几何数据格式以及相
应的文件结构。 1982年,IGES成为 ANSI标
准,1988年以后又相继发布 IGES 4.0、
IGES5.0。
IGES的作用是在不同的图形系统之间
交换数据,其结构如图所示。
IGES中的基本单位是实体,它分为三类。其
一是几何实体,如点、直线、圆弧、样条曲线、
曲面等。其二是描述实体,如尺寸标注、绘图说
明等。其三是结构实体,如组合项、图组、特性
等。从目前国内外常用的 CAD/CAM系统中的
IGES来看,其中的实体基本上是 IGES定义实体
的子集。
IGES的文件格式是由 ASCII码、记录长度为
80个字符的顺序文件组成。文件分成五个节,如
图 3.4.2所示。开始节存放用户可阅读的定义信息,
整体节和结束节存放数据的原始信息和文件本身
的信息,实体信息存放在目录入口( DE)和参数
数据 (PD)中,在 DE和 PD节中还存放实体的有关
指针及相互关系。
IGES的出错处理也是十分重要的,因
为在不同系统间转换数据会产生错误,如
重字符、错字符,开发的转换器会对 IGES
文件产生不正确地解释等,这就要求 IGES
转换程序能报告并校正有关的错误。
2,4,5 产品模型数据转换标准
( STEP)
作为在不同 CAD/CAM系统之间交换图
形数据的 IGES文件标准,虽然已在大多商
品化的 CAD/CAM系统中采用,但 IGES在
实践中还存在一些问题,如不能精确地完
整转换数据、不能转换属性信息、层信息
常丢失、产生的数据量太大等。为了克服
IGES存在的问题,扩大转换 CAD/CAM系
统中几何、拓扑数据的范围,ISO/IEC
JTC1的一个分技术委员会 (SC4)开发了产
品模型数据转换标准 STEP(Standard for
the Exchange of Product model data)。
STEP的产品模型数据是覆盖产品整个生命
周期的应用而全面定义的产品所有数据元,从产
品的概念设计、工程分析,到制造生产和产品文
档的建立,是包括 CAD/CAM整个过程全方位的信
息,而不像 IGES只是一种图形数据描述格式。
在 STEP中,产品模型信息分为三层结构,
即应用层、逻辑层和物理层,它们之间的关系如
图 3.4.3所示。其中,应用层主要用来描述图形的
形状模型、显示与绘图(即拓扑与几何)、形状
特征和公差四个部分;逻辑层是将应用层中采用
的各种数据模型集成为一个冗余最少、无二义性
的集成产品信息模型( IPIM,Integrated Product
Information Model)。物理层主要是自由格式的
顺序文件,物理文件用形式化的词法定义。
STEP是为 CAD/CAM系统提供中性产
品数据的公共资源和应用模型,即各种
CAD/CAM系统都可以承认的数据模型,
STEP的基本组成包括:( 1)描述方法标
准;( 2)实现方法标准;( 3)一致性测
试方法与工具标准;( 4)信息模型标准;
( 5)应用协议。 STEP标准内容丰富,是
定义应用产品全局模型的工具。
2,4,6 窗口系统
从 80年代中期以来,不论是个人计算机、工
作站,还是大、中型计算机,都配备了图形画的
用户接口,即窗口系统,如工作站上的 X-
Windows,OpenLook和 News,PC机上的 MS-
Windows。
窗口系统起源于 70年代中期,美国 Xeror(施
乐)公司开发出的 Smalltalk语言,它是第一个提
出面向对象的图形化程序设计语言。 1984年
Apple公司开发的 Macintosh使窗口系统成为第一
个广泛应用的窗口系统。目前,常用的窗口系统
有 PC机上的 MS-Windows,UNIX操作系统下的
X-Window,在 Sun工作站上的 News,SunView、
OpenLook和 Motif 等。
窗口系统具有如下特点:
定义简洁:他管理各种系统资源和输入输出设备;
界面清晰:它提供各种应用界面、编程界面和窗口管
理界面;
目标明确:具体表现在窗口程序设计上,它提供生成
各种窗口界面的机制,而不是具体策略;
实现紧凑:窗口系统在实现时通常采用两种类型:一
是基于核心的窗口系统,即把窗口系统的核心放在操作系
统的内核中,如 Ms-Windows,SunView等;另一种则是
把窗口系统的核心作为操作系统的用户进程来对待,这是
基于客户 /服务器的窗口系统,如 X-Window等。
功能齐全:窗口系统提供了大量的日常应用及程序员
的编程接口功能;
使用方便:由于窗口系统采用一致性的用户接口,便
于学习和操作,再加上各种图形符号(图标)、鼠标等交
互式设备的使用,大大方便了计算机的操作、使用与开发,
使“所见即所得”成为可能。
常用的窗口系统简介:
( 1) News窗口系统
News是 Sun Microsystem公司基于 UNIX系统
开发的窗口系统,它支持网络功能。目前,Sun
工作站上采用的窗口服务器是 X11/News,它既支
持 X-Windows又支持 News窗口系统。
News窗口系统的最大特点是该窗口系统中的
成像模型是以 PS语言( PostScript,页面描述语
言)为基础,而不是采用像素操作。用 PS描述的
图像可以做到无级变换的字体放缩显示。
( 2) X-Window
X窗口系统是由 MIT开发出的一套窗口系统,
其目的是要建立一个图形化用户接口的工业标准,
使软件可以在不同厂家生产的硬件上运行,而且
让用户不必担心如何与系统交互。 X窗口系统具
有丰富的网络功能。在众多的窗口系统中,X窗
口系统已经取得了无可争议的领先地位。
X窗口系统流行的版本是 11版,即 X11
窗口系统,该版本已成为 ANSI发布的标准,
它有四部分组成:
① X协议,X窗口系统实际上由核心协议定义,
整个协议描述客户与服务器进程通信的语
法结构和语义。
② X库函数 (XLIB),Xlib是 X窗口系统的 C语言
程序接口,它是向应用程序员提供的低级
编程界面。
③ X工具箱( X Toolkit),X工具箱是在 Xlib
基础上开发的高级编程界面,它向用户提
供诸如菜单( Menu)、对话框( Dialog)、
图符( Icon)等各种图形界面的编程手段。
X工具箱包括两部分,Widget集和
Intrinsics函数集。前者是具有一定界面风格
及外观的图形界面元素对象集,而后者是
利用这些对象编程时的通用函数集,共有
近 270个函数。经常使用的 X工具箱是
XView。
④ 字体标准格式( BDF,Bitmap Distributed
Format)
这是 X窗口系统所提供各种字体的标准
位图映像的组成规定,由此可产生各种点
阵字体。
目前,X窗口系统图形用户接口主要有
Motif和 OpenLook两大流派。
( 3) Ms-Windows
1986年美国 Microsoft公司在 PC个人计算机
的 DOS操作系统环境下开发了 Windows窗口系统,
于 1990年正式发布了 Windows 3.0版,1992年 4
月发布了 Windows 3.1版,以后又相继发布了
Windows 95,Windows 98,Windows 2000和
Windows XP等版本,成为 PC机上主流的窗口系
统。
在开发 Windows应用程序时,Windows窗口
系统提供了大量的函数,主要有三个主要的函数
库组成:① User函数库,它提供了窗口管理功能;
② Kernel函数库,它提供多任务、存储管理和资
源管理等系统服务功能;③ GDI函数库,它提供
图形设备接口。
Windows函数库是特殊的动态连接库 (DLL),
只有当系统加载应用程序时,才把 DLL和应用程
序连接在一起,从而最大限度地减少每个应用程
序的代码量。
习 题