logo资料库

计算机图形学课本PDF电子版.pdf

第1页 / 共311页
第2页 / 共311页
第3页 / 共311页
第4页 / 共311页
第5页 / 共311页
第6页 / 共311页
第7页 / 共311页
第8页 / 共311页
资料共311页,剩余部分请下载后查看
跟我学——计算机图形学 -----原理、算法及实现
前言 为什么要写这本书?本书的立足点是什么?面向的是哪些读者?希望读者从中学到什 么?给读者提供哪些帮助?关于计算机图形学的图形有很多种,为什么要看这本书?也就是 本书有什么特点? 计算机图形学是计算机科学的一个重要的分支,通过学习计算机图形这门课程,理解计 算机及显示设备如何生成、处理图形等、,提高对计算图形学的学习兴趣,从而更深入的学 习和研究。
第一章 绪论 计算机图形学(Computer Graphics,简称 CG)是建立在传统图学理论、应用数学和 计 算机 科学等 基础 上的一 门学 科,如 今被广 泛地 应用 于很多 领域。 计算 机辅 助设计 CAD/CAM/CAE、计算机动画、虚拟现实、计算机可视化等相关学科和技术都是以计算机图 形学的原理和算法为基础,而且,各种学科的研究内容又相互交叉、相互渗透、使学科界限 逐渐模糊。 第一节 概念 由于计算机图形学涉及内容很广泛,因此,计算机图形学很难有一个统一的定义,国 内外各种专业文献对计算机图形学的概念也有不同的表述。 国际标准化组织(ISO)对计算机图形学的定义是:计算机图形学是研究通过计算机将 数据转换为图形,并在专门显示设备上显示的原理、方法和技术的学科。 美国电气电子工程师学会(IEEE)对计算机图形学的定义是:计算机图形学是借由计 算机产生图形影像的一门艺术或科学。 目前,国内广泛采用的对计算机图形学的定义表述是:计算机图形学是研究怎样利用 计算机来表示、生成、处理和显示图形的原理、算法、方法和技术的一门学科。随着计算机 图形学应用领域的不断扩展和延伸,人们对计算机图形学的认识会进一步深入。 第二节 研究内容及应用领域 2.1 计算机图形学中的图形和和图像关系 对计算机图形学的研究首先要区分图形和图像两个概念,二者虽然有联系,而且区别 也越来越模糊,但是还是有区分的。 广义上,能在人的视觉系统中产生视觉印象的客观对象都可以称为图形,包括自然景 物、拍摄的照片、用数学方法描述的图形等等。狭义上,计算机图形学中的图形是指用数学 方法描述的图形,图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几 何属性组成。从构成要素上看,图形主要分为两类,一类是几何要素在构图中具有突出作用 的图形,如工程图、等高线地图、曲面的线框图等,另一类非几何要素在构图中具有突出作 用的图形,如明暗图、晕渲图、真实感图形等。这样的图形又称为矢量图形(简称矢量图), 例如一幅花的矢量图形实际上是由线段形成外框轮廓,由外框的颜色以及外框所封闭的颜色 决定花显示出的颜色。矢量图只能通过图形软件才能生成,文件在计算机的硬盘和内存中占 用的空间较小,图形放大或者缩小后图像不会失真,和显示设备的分辨率无关。 图像是广义上的图形,它是指通过诸如视觉系统看到的一幅景象、照相机拍的一张照
片、图像扫描设备扫描获得的图片等等方式获得的图形,在计算机内图像以点阵位图(Bitmap) 的形式呈现,图像中的每一个点记录了图像在该点的灰度、亮度或者颜色值,图像中所有点 的灰度、亮度或者颜色值组合在一起才能得到图像的整体信息。因此,图像需要记录每一个 图像点,相对于图形文件,图像文件占用的计算机空间较大,显示会发生失真现象,和显示 设备的分辨率有关。 2.2 图形输入输出硬件技术研究 从软硬件上划分,计算机图形学的研究大致可概括分为两个方面:一是计算机对图形 数据输入、输出的硬件技术研究,二是图形数据的计算、处理和存储的软件技术研究。 由于计算机图形学最初由计算机图形硬件的发展而产生的,因此图形硬件是其重要的 研究内容之一,例如图形的输入、输出设备和技术,包括显示设备的结构体系,硬件交互、 接口等等方面。 图形输入设备常用的是键盘和鼠标输入,还有坐标数字化仪、图形扫描仪、触摸屏、 光笔、操纵杆以及数据手套等设备,三维扫描仪是现在的研究热点之一,可以通过直接扫描 空间物体来获得物体的立体图形数据。图形输入设备获得的图形分为矢量型图形和光栅扫描 型图形两种类型,矢量型图形即为我们所讲的图形(Graphics),记录的是图形的几何要素 (轮廓和形状等)以及非几何要素(颜色、材质等),光栅扫描型图形获得的数据是有亮度 值构成的像素矩阵——图像(Image),图像数据转化为图形数据后,即可用于计算机图形 相关软件中。图形输入设备的重要性能指标是输入的图形的精度要求。 图形输出设备包括显示器,打印机、绘图仪等,图形数据经过计算后可在显示器上呈 现当前的图像状态或者图形编辑后的结果,也可以通过打印机、绘图仪在纸质介质上保留下 来,以便长期保存,图形输出设备研究当前的热点之一——三维打印机,可以将空间立体的 图形数据直接快速成型。图形输出设备的重要性能指标是图形输出的精度要求。 2.3 研究内容 由于计算机图形学是研究利用计算机来表示、处理和显示图形的原理、方法和技术的 学科,所以,凡是和此相关的内容都是计算机图形学的研究内容,简单说,从基本图形到复 杂图形、从二维图形到三维图形、从静态图形到动态仿真图形、从线框和实体模型到真实感 图形、虚拟现实、真实场景以及其它相关计算机图形表示等等都属于计算机图形学的研究范 畴。而且,由于计算机技术的迅猛发展,计算机图形学的研究内容也在不断变化和丰富完善。 计算机图形学的研究主要是围绕图形信息的输入、表达、存储、显示、变换、以及图 形准确性、真实性和实时性的基础算法进行,其算法可以分为以下几类: (1)基于图形设备的基本图形数据结构和图形元素的生成算法,如光山图形显示器生 成直线、圆弧、二次曲线、封闭边界内的图案填充、反走样等。 (2)图形元素的几何变换、投影变换、窗口裁剪等。 (3)自由曲线和曲面的插值、拟合、拼接、分解、过渡、光顺、整体和局部修改等。 (4)图形元素(点、线、面、体、环)的求交以及集合运算。 (5)隐藏线、隐藏面消隐算法以及具有光照模型效果的真实感图形显示算法。 (6)不同字体的点阵表示。 (7)山、水、花、烟云等模糊景物的生成算法。
(8)三维形体的实时显示和处理。 (9)虚拟现实环境的生成及其控制算法。 除了上述内容外,图形交互技术、图像生成算法、色彩处理、图形操作和处理、图形优 化和加速、图形信息的描述和表示、图形数据的存储和检索以及编码等技术也是计算机图形 学的研究内容。由于计算机图形学的研究问题来源于日常生活、科学、工程技术、艺术、影 视、游戏、医疗、军事、教育等领域,因此,计算机图形学的研究内容也是解决相关领域的 实际需求,例如,科学计算可视化和三维或高维数据场的可视化技术,可将科学计算中大量 难以理解的数据通过计算机图形显示出来,从而使人们加深对其科学过程的理解;有限元分 析结果、应力场、磁场的分布、海洋洋流运动、气候变化分布以及各种复杂的运动学和动力 学问题通过图形仿真来直观的呈现;除此以外,计算机动画、自然景物仿真、虚拟现实、地 理信息系统等也属于计算机图形学的研究内容。而且很多研究内容和技术做为学科交叉和融 合、已经从计算机图形学中独立出来,成为一门新的学科。 作为一本面向计算机及相关专业的本科生和非计算机专业研究生的图形学教材,为使 读者理解和掌握计算机图形学的基本理论和方法,本书着重讨论如何在计算机中表示图形, 以及如何利用计算机进行图形的生成、处理和显示的相关原理与算法,为进一步学习和研究 计算机图形学的相关问题,打下坚实的基础。本书对计算机图形学的研究主要集中在以下内 容: (1)图形生成技术研究 线段、圆弧、字符、区域填充;消隐、光照模型、纹理、灰 度与色彩等各种真实感图形生成技术。 (2)几何模型构造技术研究 二维、三维几何模型、自由曲线和曲面造型等。 (3)图形编辑与处理技术研究 图形的平移、旋转、缩放、投影、裁剪等几何变换、 三维几何投影变换。 (4)动画技术 研究实现高速动画的各种软、硬件方法,开发工具,动画语言等。 (5)图形交互技术。 2.4 应用领域 从相关研究内容可以看出,以计算机图形为基础的相关软硬件技术已经广泛应用于很多 领域,如科学、工程、医药、工业、政府部门、艺术娱乐、广告和教学等,直接或者间接地 对我们的工作、学习和生活产生了深刻的影响。 计算机辅助设计与制造(CAD/CAM)是计算机图形学最广泛、最活跃的应用领域,利 用计算机图形学的基本原理和方法研发的 CAD/CAM 软件,广泛地应用于机械、建筑等产 品和工程的设计,如飞机、汽车、船舶、建筑、轻工、机电、服装的外形设计、大规模集成 电路、电子器件的设计以及工厂企业的布局等等。CAD 软件现在已经是工程产品设计必不 可少的工具,它可以极大缩短产品设计周期,节省原材料、提高产品设计质量,产生的经济 效益十分明显。CAD 软件中的三维几何造型技术具有很多设计优点,除了造型便捷外,还 可以进行装配件的虚拟装配、干涉检查等,结合 CAM 和 CAE(计算机辅助工程分析)等软 件或功能模块,对产品进行仿真数控加工、有限元分析等,基本上代表了 CAD 的发展方向。 现在产品设计已不再是一个设计领域内孤立的技术问题,而是综合了产品各个相关领域、相 关工程、相关技术资源和相关组织形式的系统化工程。在网络环境下进行异地异构系统的协
同设计,已成为 CAD 领域的研究热点之一。 科研、工程、商业及社会各个行业都会产生大量的数据、从这些“数据海洋”中提取 有价值的信息、并通过数据分析和处理找到变化的规律及数据反映的本质特征尤为重要,以 计算机图形学为基础的科学计算的可视化技术将数据转化为图形或者图像显示出来,而且根 据需要也可以进行交互处理,对数据处理非常有帮助。1987 年 2 月英国国家科学基金会在 华盛顿召开了有关科学计算可视化的首次会议。会议一致认为“将图形和图象技术应用于科 学计算是一个全新的领域” ,科学家们不仅需要分析由计算机得出的计算数据,而且需要了 解在计算机过程中数据的变化。会议将这一技术定名为“科学计算可视化(Visualization in Scientific Computing)”。科学计算可视化将图形生成技术图象理解技术结合在一起, 它即 可理解送入计算机的图象数据.也可以从复杂的多维数据中产生图形。它涉及到下列相互独 立的几个领域:计算机图形学、图象处理、计算机视觉、计算机辅助设计及交互技术等。科 学计算可视按其实现的功能来分, 可以分为三个档次:(1)结果数据的后处理;(2)结果数据 的实时跟踪处理及显示;(3)结果数据的实时显示及交互处理。科学计算可视化技术根据所 研究对象的领域的不同,可视化又分为科学可视化、数据可视化和信息可视化。由于社会活 动的日益频繁,数据量呈爆炸式的增加,可视化技术有着广阔的发展前途。 虚拟现实技术是近几年的研究重点之一,“虚拟现实”(Virtual Reality)- 词是由美国喷气 推动实验室(VPL)的创始人拉尼尔(Jaron Lanier)首先提出的 在克鲁格(Myren Kruege)70 年 代中早期实验里.被称为 人工现实”(Artificial reality);而在吉布森(William Gibson)l984 年 出版的科幻小说 Neuremanccr 里,又被称为“可控空间”(Cyberspaee)。简单说虚拟现实技 术就是人们利用计算机生成一个逼真的三维虚拟环境,通过自然技能使用传感设备与之相互 作用的新技术,与传统的数字仿真系统相比,利用虚拟现实技术构造出来的可视化虚拟现实 系统具有三个重要特征:一是沉浸性,体验者的确有“看得见、摸得着、听得到、闻得出” 的身临其境的真实感受;二是交互性,体验者使用日常生活中的方式与虚拟场景中的人或物 进行各种交流,产生真实的互动体会;三是构想性,用户在虚拟的环境中获取新的知识和体 验,形成感性或理性的认识,从而产生新的思想和行动,有效提高思考和行动能力。虚拟现 实技术主要研究用计算机模拟(构造)三维图形空间,并使用户能够自然地与该空间进行交 互。它涉及很多科学的知识,对三维图形处理技术的要求特别高。简单的虚拟现实系统早在 上个世纪 70 年代便被应用于军事领域,训练驾驶员。上个世纪 80 年代后随着计算机软硬 件技术的提高,它也得到重视并迅速发展。它已在航空航天、医学、教育、艺术、建筑等领 域得到初步的应用。例如,1997 年 7 月,美国航天局的旅居者号火星车着陆距地球约 1.9 亿公里的火星。这辆在火星表面缓慢爬行的小车中并没有驾驶员,它是由地球上的工程师通 过虚拟现实系统操纵的。虚拟现实技术的应用范围很广,例如用于脑外科规划的双手操作空 间接口工具,美国弗尼亚大学推出了一种能用于脑外科规划的被称为 Netra 的双手操作空间 接口工具,根据脑外科医生的工作环境和习惯,该系统采用一种外形象人头的控制器。脑外 科医生可以根据他们的职业习惯,通过转动外形象人头的控制器, 来方便地观察人脑的不 部位, 同时通过右手控制面板的平面来控制人脑的剥面的扫描井能根据 CT 或强磁共振图 像所产生的主体脑模型显示所需得到观察视点着色后的真实图像。虚拟环境也可用于恐高症 治疗、虚拟风洞实验、做为封闭式战斗作战训练器以及用于建筑设计中。
地理信息系统(GIS: Geographical Information System)是建立在地理图形之上的关于 人口、矿藏、森林、旅游等资源的综合信息管理系统。在地理信息系统中,计算机图形学技 术被用来产生高精度的各种资源的图形,包括地理图、地形图、森林分布图、人口分布图、 矿藏分布图、气象图、水资源分布图等等。地理信息系统为管理和决策者提供非常有效的支 持。它在发达国家中已得到广泛应用,我国也对其开展了广泛的研究与应用。例如数字化地 图是地理信息系统在人们日常生活中的一个直接应用,对人们的旅游导航等带来了极大的便 利。 除了上述领域外,计算机图形学还应用于软件的交互界面设计、计算机动画、影视特 效和游戏制作等等。归纳下来,计算机图形学可应用于如下的学科: 1.计算生物学(Computational biology) 2.计算物理学(Computational physics) 3.计算机辅助设计(Computer-aided design) 4.数字化艺术(Digital art) 5.教育(Education) 6.图形设计(Graphic design) 7.信息几何(Infographics) 8.信息可视化(Information visualization) 9.理论药物设计(Rational drug design) 10.交通可视化 Scientific visualization 11.视频游戏(Video Games) 12.虚拟现实(Virtual reality) 13.网络设计(Web design) 第三节 发展历史 计算机图形学是伴随着计算机的出现而产生的,主要经历了以下几个发展阶段。 1.萌芽阶段(20 世纪 50 年代) 世界上第一台数字电子通用计算机 ENIAC 于 1946 年 2 月 14 日在美国宾夕法尼亚大学 研制成功,由于没有连接图形显示设备,因此,这时的计算机和图形学之间没有建立联系。 1950 年,美国麻省理工学院(MIT)旋风 I 号计算机(Whirlwind I)配备了一个图形显示器, 该显示器用一个类似于示波器的阴极射线管(CRT)来显示一些简单的图形,CRT 的出现 为计算机生成和显示图形提供了可能。1958 年美国 Calcomp 公司由联机的数字记录仪发展 成滚筒式绘图仪,GerBer 公司把数控机床发展成为平板式绘图仪。由于当时的计算机主要 应用于科学计算,为这些计算机配置的图形设备仅具有输出功能,不具备人机交互功能,计 算机图形学在这个阶段尚处于准备和酝酿时期。到二十世纪五十年代末期,MIT 的林肯实验 室在“旋风”计算机上开发 SAGE 空中防御体系,第一次使用了具有指挥和控制功能的 CRT 显示器,操作者可以用笔在屏幕上指出被确定的目标。与此同时,类似的技术在设计和生产 过程中也陆续得到了应用,这是交互式计算机图形系统的雏形,预示着交互式计算机图形技 术的诞生。 2.发展阶段(20 世纪 60 年代)
1962 年,MIT 林肯实验室的 Ivan E.Sutherland 发表了一篇题“Sketchpad:一个 人机交互通信的图形系统”的博士论文,他在论文中首次使用了计算机图形学 Computer Graphics”这个术语,证明了交互计算机图形学是一个可行的、有用的研究领域,从而确定 了计算机图形学作为一个崭新的科学分支的独立地位,他在论文中所提出的一些基本概念和 技术,如交互技术、分层存储符号的数据结构等至今还在广为应用。1964 年 MIT 的教授 Steven A. Coons 提出了被后人称为超限插值的新思想,通过插值四条任意的边界曲线来构 造曲面。同在二十世界 60 年代早期,法国雷诺汽车公司的工程师 Pierre Bézier 发展了一套 被后人称为 Bézier 曲线、曲面的理论,成功地用于几何外形设计,并开发了用于汽车外形 设计的 UNISURF 系统。Coons 方法和 Bézier 方法是 CAGD 最早的开创性工作。值得一提 的是,计算机图形学的最高奖是以 Coons 的名字命名的,而获得第一届(1983)和第二届 (1985) Steven A.Coons 奖的,恰好是 Ivan E.Sutherland 和 Pierre Bézier,Ivan E.Sutherland 被称为“计算机图形学之父”,获得了 1988 年的计算机界的最高奖“图灵奖”和 IEEE 计 算机杰出成就奖,他也是许多图形学基本算法的创始人(如图 1.3-1)。 1.3-1 计算机图形学学科创始人——Ivan E.Sutherland 3.推广应用阶段 (20 世纪 70 年代) 二十世纪七十年代是计算机图形学发展过程中一个重要的历史时期。由于光栅显示器 的产生,在六十年代就已萌芽的光栅图形学算法,迅速发展起来,区域填充、裁剪、消隐等 基本图形概念、及其相应算法纷纷诞生,图形学进入了第一个兴盛的时期,并开始出现实用 的 CAD 图形系统。又因为通用、与设备无关的图形软件的发展,图形软件功能的标准化问 题被提了出来。1974 年,美国国家标准化局(ANSI)在 ACM SIGGRAPH 的一个与“与 机器无关的图形技术”的工作会议上,提出了制定有关标准的基本规则。此后 ACM 专门成 立了一个图形标准化委员会,开始制定有关标准。该委员会于 1977、1979 年先后制定和修 改了“核心图形系统”(Core Graphics System)。ISO 随后又发布了计算机图形接口 CGI(Computer Graphics Interface)、计算机图形元文件标准 CGM(Computer Graphics Metafile)、计算机图形核心系统 GKS(Graphics Kernel system)、面向程序员的层次交互 图形标准 PHIGS(Programmer's Hierarchical Interactive Graphics Standard)等。这些标 准的制定,为计算机图形学的推广、应用、资源信息共享,起到了重要作用。
分享到:
收藏