计算机图形学第2版
作者 : 何援军
译者 :
出版日期 : 2009-03-02
ISBN : 7-111-18234-4
定价 : 33.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 262
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书采用一种全新的计算机图形学架构,将内容分为“基础”、“几何”、“绘制”和“交互”4篇,叙述了计算机图形学的目的、内容、任务、理论与实践。
  通过揭示“图形=图元+属性”与“计算机图形学=几何+绘制”的本质属性,给计算机图形学以准确的定位、合理的定义,明确计算机图形学“几何”与“绘制”两大任务,使教者易、学者清。
  举重若轻、化繁为简,复杂问题简单化,是本书的另一特色。全书以全新的架构、明晰的分析、浅显的解释、精细的图示尽可能正确、通俗地阐述计算机图形学的理论体系、几何模型、基本算法与数据结构等根本要素,并努力保证它们准确、简单、直观、清晰。
  本书配套网站http://cg.sjtu.edu.cn提供了电子教案、实验基础、算法案例、学生作品、相关课题、算法库及课程设计等内容,读者可以免费下载。

图书特色

图书前言

第2版前言
本书第1版于2006年1月由机械工业出版社出版。出版以后,收到了不少读者来信,包括教师、学生和设计人员等,除了对作者的鼓励以外,也对本书提出了许多有益的建议。2006年7月,机械工业出版社华章分社与中国计算机学会联合举办了2006年暑期教师培训班,与参会教师就计算机图形学的定义与定位、课堂教学与课程设计、计算机图形学研究方向以及算法和软件开发等议题进行了讨论,执教计算机图形学的老师提出了许多建议。同时,作者采用本书在上海交通大学本科生的“计算机图形学”、“计算机图形学课程设计”与“计算机辅助设计基础”等课程中进行了教学实践,广泛征求了学生的意见。据此,作者着手对第1版教材进行修订,新版本期望达到以下
目标:在宏观上,绘制一个清楚的计算机图形学框架与认知体系;在微观上,精致编织、准确表述具体而细小的知识点。
修订工作基于对图形/图像本质的分析,对计算机图形学定位、定义、内容和架构(architecture)进行研究。这项研究试图从认知方式关注计算机图形学的学科地位;从对图形/图像产生机理的梳理入手,认识计算机图形学的本质特征,明确计算机图形学的根本任务;从表现的视角理解图形/图像只是基本图元不同组合的显示方式;从构造的角度阐述“模型”的“几何品质”,认识几何计算在计算机图形学中的地位和作用的根本性;从几何奇异是造成几何造型系统不稳定性的本源入手,把握几何计算的关键;从“计算机图形学和造型依赖于点和向量的数学运算”的观点出发,以向量几何与“方向性”概念为基础,构筑几何计算的基本理论,研究它们的思想方法、几何结构以及几何算法与复杂性分析。最后,形成了以下论点:

图形(图像)本质上是具有线形、宽度、颜色等属性信息的图形元素(图元)的组合。因此,抽象图形的本质可以概括为:图形=图元+属性。
模型的根本是几何。在计算机图形学中拟采用“几何”(geometry)一词替代“模型”(model)。几何可以理解为几何模型、几何创建、几何运算等,有更宽泛的含义;而模型还可用作其他表述,如光照模型、纹理模型等,非几何类。
计算机图形学主要研究两个问题:一是如何在计算机中构造一个客观世界——几何(模型)的描述、创建和处理,以“几何”一词统一表述之;二是如何将计算机中的虚拟世界用最形象的方式静态或动态地展现出来——几何的视觉再现,以“绘制”一词统一表述之。因此可以说:
计算机图形学=几何+绘制。
几何是表示,是输入;绘制是展现,是输出。从宏观上讲,几何构造模型,绘制展示模型;从微观上讲,几何决定点,绘制显示点。两者的基础是几何计算。
几何计算是计算机图形学的基础,几何计算的关键是解决几何奇异问题,可对几何引入方向性概念解决几何奇异问题,构建几何计算的理论体系。
数学是几何与绘制的基础。
交互式图形学可以提供图形通信手段,是人机交互的主要工具。
可从“基础”、“几何”、“绘制”和“交互”4个方面构建计算机图形学的新架构。

基于上述思想,本书在结构框架(framework)和内容选择两个方面均进行了重大调整。
在结构框架上,本书的主要部分将分成“基础”、“几何”、“绘制”和“交互”4篇。这种结构框架不仅解决了
计算机图形学中越来越多的内容的分类问题,也可以比较清晰地理清与计算机图形学相关学科,例如CAD(及计算机绘图)、计算几何/计算机辅助几何设计、图像(及识别)处理等的关系。
内容选择与学科定义、学科架构有密切的关系。目前,计算机图形学教材内容的选择常与一些专业有关,例如“机械类”计算机图形学会涉及CAD,甚至讲述某一具体的CAD软件;“数学类”计算机图形学常会强调曲线曲面及光照模型;“计算机类”计算机图形学则会强化几何造型、光照模型等方面的内容;而“工业设计及艺术类”计算机图形学会加入一些3DMAX、Maya等的应用。一个典型例子是:“曲线曲面”应在计算机图形学中占多大的份量?这在计算机图形学教材中不甚清晰(Rogers的Procedural Elements for Computer Graphics(中译本:《计算机图形学算法基础》)一书就没有提及“曲线曲面”的内容)。按照本书对计算机图形学的定义,在计算机图形学中讲述曲线曲面应该是以“应用”而不是以“研究”为目的,它与分形造型、CAD中的参数设计及逆向工程等一样,只是计算机图形学借用的几何构造方法之一,是为了用更多、更好的手段构造虚拟世界,对它的详细研究应该放回到计算几何学科中去。
Rogers认为,图(picture)是计算机图形学的基本概念,必须解决计算机图形学中图的表示机理、图的预处理、图的最终输出及如何与用户交互的问题。这里,他是强调以“图”为中心的。前两个问题实际上是几何的表示和创建问题,第3个问题是几何的展现问题,而他将“交互”列为计算机图形学的核心问题之一,这也是为什么本书将“交互技术”单独列为一篇的部分缘由。
计算机图形学涉及计算机硬件(显示器、打印机、绘图仪等)、数学(几何计算、近似计算、拓扑结构等)、物理(运动、光学及颜色等)、计算机科学(算法及复杂性分析、数据结构、数据库、程序设计、交互技术等)、美学(色彩等)等领域的综合知识,需要有较好的数学基础和相关的计算机知识,对教师和学生均有一定的要求。
本书试图用结构化的框架、明晰的分析、浅显的解释、直观的图示使一些复杂、难懂的问题简单化;强调对基础理论、算法、几何模型与数据结构等基本理论和技术的叙述,并努力保证它们的正确性,尽可能使叙述准确、清晰。
本书框架包括绪论(1章)和4篇正文(14章):


封底文字

本书采用一种全新的计算机图形学架构,将内容分为“基础”、“几何”、“绘制”和“交互”4篇,叙述了计算机图形学的目的、内容、任务、理论与实践。 通过揭示“图形=图元+属性”与“计算机图形学=几何+绘制”的本质属性,给计算机图形学以准确的定位、合理的定义,明确计算机图形学“几何”与“绘制”两大任务,使教者易、学者清。 举重若轻、化繁为简,复杂问题简单化,是本书的另一特色。全书以全新的架构、明晰的分析、浅显的解释、精细的图示尽可能正确、通俗地阐述计算机图形学的理论体系、几何模型、基本算法与数据结构等根本要素,并努力保证它们准确、简单、直观、清晰。 本书配套网站http://cg.sjtu.edu.cn提供了电子教案、实验基础、算法案例、学生作品、相关课题、算法库及课程设计等内容,读者可以免费下载。

作者简介

何援军:暂无简介

图书目录

第1章绪论

第一篇基础
第二篇几何
第三篇绘制
第四篇交互
第2章基本几何

第3章几何变换
第4章几何计算

第5章二维造型

第6章三维造型

第7章曲线曲面

第8章曲线拟合
第9章光栅计算

第10章裁剪计算

第11章消隐计算

第12章颜色模型

第13章光照模型
第14章交互技术

第1章全面分析了图形/图像的本质属性,探索了计算机图形学学科的定位与本质定义,阐述了“图形=图元+属性”和“计算机图形学=几何+绘制”两个公式的基本涵义,构筑了计算机图形学的新架构。该章强调了“几何计算”的概念,它在一些场合比“计算几何”有更宽泛的涵义;明晰了几何计算在计算机图形学中的地位和作用,认为几何表示与几何造型的基础是几何计算,图形/图像的产生工作本质上仍是几何计算的问题,指出几何计算是计算机图形学的基础与主要工作。此外,讨论了计算机图形学与其他学科的关系,并根据计算机图形学理论和技术的发展情况,简单地介绍了当前计算机图形学的一些相关开发技术等。
 基础
该篇完整地叙述了一套以向量几何与“方向性”概念为基础的几何计算理论体系。根据这套理论体系定义了基本几何:点、线、圆/弧、平面及曲线和图形等,并将基本几何与角度、距离、面积、分比、几何元素连接时的方向、封闭图形的边界走向等辅助几何有机地联系在一起,特别是引入了“交点特征”的概念。
根据这套几何计算的理论体系,计算机图形学的一些典型几何算法变得相当简单,部分几何奇异问题将得到几乎完美的处理。
计算机图形学基础的另一个重点是图形(几何)变换,它是几何与绘制的工具。
图形变换包括二维变换、三维变换、三维向二维的变换及视图变换等几种情况。对应于几何元素及其选定的坐标系来说,图形变换则包括几何变换和坐标系变换两种。这些变换系统称为图形(几何)变换。
根据几何计算理论体系,图形变换有了全新的表达方式,它与基本几何紧密联系起来。
 几何
几何(geometry)是指二维及三维空间各种几何模型的表示、创建与几何计算。没有几何模型,图形将是无本之木。几何模型可以是解析式表达的简单形体,或是隐函数表达的复杂曲线、曲面,也可以是由面片表达的几何体等。建模的理论和过程并非全属于计算机图形学的范畴。
基于理论的系统性、算法的完整性,该篇有选择地讨论了一些典型的二维/三维几何造型方法和计算机图形学中基本的几何算法。例如,三维几何造型与消隐计算常被公认为计算机图形学的内容,该篇讨论了扫掠造型与三维布尔运算等几何造型方法的基本策略,但它遵循的基本原理、设计的数据结构、采用的计算方案等与后面绘制篇的消隐计算等构成了完整的三维体系。
可以看到,由于“几何方向”与“交点特征”等概念的引入,该篇提及的一些经典几何算法,如凸包算法、包容性测试算法、图形填充算法、2D和3D布尔算法等,在基本几何的新体系下变得出奇的简单。
曲线与曲面分为两章介绍,“设计型”曲线与曲面(以“表示”为目的)以控制多边形定义的Bézier曲线和曲面的方法为代表;“拟合型”曲线(以“表现”为目的)以“样条函数”为代表。
 绘制
图形是客观世界模拟的静态/动态表现,它可以分成“图形类”(graphics)和“图像类”(image)两种。图形类以矢量图形式呈现,能体现场景的几何个体,如工程图纸(drawing);图像类以点阵图形式呈现,更强调整体形式,如照片、图片和由计算机产生的真实感和非真实感图形等。
对图形类,二维绘制工作以光栅化算法和裁剪算法为代表;三维则以线消隐算法为代表。
对图像类,在计算机图形学中以三维几何的画面产生为主,主要代表是面消隐、光照模型、阴影模型和纹理模型,以及光源模型和颜色模型等。
实际上,绘制的主要工作也是几何计算。
 交互
交互式图形学如今已能提供图形通信手段,成为人机交互的主要工具。Cooper提出将程序开发划分为“交互设计”和“编码设计”两大部分,交互设计师的工作重点并不在程序的编码实现,而是注重于用户如何最好地与系统交互工作。
该篇还讨论了交互式图形系统的设计问题,构筑了一个比较完善的课程设计体系。
从教学与实践的意义上说,该篇的内容是课程设计的基础。因此,该篇的内容可以提前到第一篇“基础”之后,先构造一个课程设计的平台。
第2版对本书的支持网站http://cgsjtueducn
也进行了相应的调整,增加了程序的应用范例。网站的内容和功能也有了较多的扩展,特别是在与读者的交流方面有了较大的提升。本书的课堂教案也做了同步更新,供注册读者(教师)下载。
在第2版中,除了对全书的总体框架做了重大改动外,对第1版中的一些非共性的内容也进行了一些删减,增加了习题与实践的内容。希望这些修改能适合更多的学校和教师应用。
博士后胡志萍,博士生研究生柳伟、田海山、王家乐、边前卫、章义等参加了计算机图形学架构的讨论;硕士研究生姚建强、曾晓一、梁李印、唐亮亮、陈杰、王力等参加了部分计算机图形学算法的论证与实现;一些本科生参与了上海交通大学计算机图形学教学网站的建设工作,提供了他们的习作;何一江、许剑秋、陈根珍等提供了不少的帮助,特向他们表示谢意。
感谢机械工业出版社华章分社的编辑对本书的出版所做的工作和付出的辛劳。
计算机图形学以全球性的语言演绎多彩的现实世界, “一图胜千言”,这是当今图形/图像时代赋予计算机图形学的使命,实现这个使命需要 “一言胜千图”的付出。举重若轻、化繁为简,把复杂的问题简单化,是本书的追求。
书中难免不当之处,希望读者、专家和同行勿吝指正。
何援军
2008年7月5日
于上海交通大学计算机系




目录


作者简介

第2版前言



第1章绪论

11计算机图形学的定位和定义

111图形和计算机图形学的定位
与定义

112计算机图形学的总体架构

113几何与几何计算

12计算机图形学与其他学科的关系

13计算机图形学的发展简史

131硬件平台

132基础理论

133实际应用

134SIGGRAPH

14计算机图形学的应用领域

141计算机辅助设计与制造

142科学计算可视化

143虚拟现实

144计算机艺术

145计算机动画

146图形用户接口

15计算机图形学的相关开发技术

151OpenGL

152ACIS

153DirectX

154Java3D

155VRML

16本章要点

17本章作业

第一篇基础

第2章基本几何

21向量

211向量及其性质

212向量点积

213向量叉积

22基本几何的描述

221点的描述

222直线的描述

223圆的描述

224圆弧的描述

225基本几何的统一描述

226圆弧曲线

23基本几何的方向

24图形边界的方向

25辅助几何

26向量交点特征

261交点特征的定义

262交点特征的几何意义

263交点特征的求取

264重交点的取舍规则

265重边交点的选择

266交点特征扩展到圆弧

27基本几何的建立

271直线的建立

272圆和圆弧的建立

28三维基本几何

281空间直线

282标准平面方程的建立

283通过N个顶点求取平面方程

284三维交点特征

29本章要点

210本章作业

第3章几何变换

31几何变换的基本描述

311齐次坐标

312齐次变换矩阵

313二维变换

314三维变换

32变换的几何化表示

321变换几何化表示的基本理论

322变换几何化表示的实施

323变换几何化表示的应用

324三维变换的几何化表示

325变换的几何化表示与基本几何

33投影与投影变换

331平行投影

332投影图示机理

333投影变换、深度坐标和三维观测
流水线

34轴测变换

35罗盘变换

351罗盘变换的基本原理

352罗盘变换公式

353屏幕轴三角架的实时产生

36透视变换

361透视变换的基本原理

362透视变换矩阵

363透视投影转化为平行投影

364灭点及其产生原理

365平行透视(一灭点)

366成角透视(二灭点)

367三灭点透视

37视图变换

371视图变换的基本原理

372视图变换的实施

38本章要点

39本章作业

第二篇几何

第4章几何计算

41判断计算

411拐向判断

412凸包算法

413包容性测试

414最小最大判定法

415线与面的关系

416线与线的关系(深度测试)

42距离与面积

421点到平面上一直线的距离

422点到一空间直线的垂足

423点到一条空间直线的距离

424点到平面的距离

425空间两直线的距离

426直线与平面的距离

427空间两平面的距离

428平面多角形面积

43相交计算

431直线与平面的相交

432平面与平面的相交

433曲线与曲线的相交

434图形填充

44本章要点

45本章作业

第5章二维造型

51二维布尔运算

511环

512二维几何构型中的图形描述

513两个环的交、并、差几何运算

514两个环运算时的特殊情况处理

515两个环运算的数据结构

516两个环运算的算法

517扩展到圆弧

518含有多个内环图形的运算

519算法复杂度分析

52变形造型

53本章要点

54本章作业

第6章三维造型

61物体描述

611构造表示

612边界表示

613分解表示

62垂直扫掠造型

621垂直扫掠算法的输入参数

622垂直扫掠算法的顶点编号与
坐标值定值

623垂直扫掠算法的构造过程

624垂直扫掠算法的扩展

625垂直扫掠物体产生程序

626进一步扩展

63旋转扫掠造型

631旋转体的输入参数

632旋转体的顶点编号与坐标定值

633旋转体的构造过程

634旋转体算法的扩展

635旋转体的物体产生程序

636旋转体产生示例

64场景构造

641物体构件

642场景装配

65三维布尔运算

651布尔运算的基本原理

652布尔运算的几何奇异问题

66本章要点

67本章作业

第7章曲线与曲面

71Bézier曲线

711Bézier曲线构造的基本原理与
函数

712Bézier曲线的性质

713Bézier曲线生成算法

714Bézier曲线的拼接

72Bézier曲面

721Bézier曲面表示

722Bézier曲面的性质

73B样条曲线

731B样条曲线的基本方程

732B样条曲线的性质

733常用B样条曲线的数学表达式

734deBoor算法与B样条曲线的
离散生成

74B样条曲面

741均匀二次B样条曲面

742均匀三次B样条曲面

75NURBS曲线和曲面

751NURBS的提出

752NURBS曲线

753NURBS曲面

76曲面的三角化表示

77本章要点

78本章作业

第8章曲线拟合

81小挠度样条函数的建立

811小挠度样条函数基本方程的
导出

812小挠度样条函数的边界条件

82大挠度样条函数的建立

821大挠度分段三次样条函数

822弧长作参数的大挠度三次样条
函数

83双圆弧逼近

831平均切线法

832双圆弧公切点的轨迹

833公切点的确定

834双圆弧的求法

835样条曲线的直线逼近

836一般函数曲线的双圆弧逼近

84圆的直线逼近

85本章要点

86本章作业

第三篇绘制

第9章光栅计算

91直线光栅化显示算法

911直线光栅化显示的数字微分
分析法

912直线光栅化显示的Bresenham
算法

92圆光栅化算法

921利用圆的八方对称性画圆

922简单的方程画圆方法

923Bresenham画圆算法

924中点圆算法

93椭圆光栅化算法

94多边形填充

941扫描线填充算法

942边填充算法

943种子填充算法

95字符和汉字显示

951点阵字符

952矢量字符

96反走样

961图形走样

962超采样

963区域采样方法

97本章要点

98本章作业

第10章裁剪计算

101线裁剪算法

1011CohenSutherland算法

1012CyrusBeck参数化的线裁剪
算法

1013LiangBarsky算法

1014一般多边形的裁剪算法

102多边形裁剪

1021SutherlandHodgon多边形裁剪
算法

1022图形求交集多边形裁剪法

103本章要点

104本章作业

第11章消隐计算

111凸多面体的隐藏线消除

1111凸多面体消隐算法的基本
原理

1112凸多面体对其他物体的遮挡
计算

1113凸多面体的自消隐

112一般多面体的隐藏线消除

1121一般多面体的描述

1122面的构造

1123棱分类——一般多面体的
自消隐

1124隐藏线的表示

1125一维交集算法

1126面消隐计算

1127消隐算法的数据结构

1128一般多面体消隐算法的实施

113一般多面体的隐藏面消除

1131隐藏面消除的基本原理

1132隐藏面消除的实施

114本章要点

115本章作业

第12章颜色模型

121光和颜色

1211人对世界的视觉感知

1212物体表面的性质

1213光源的种类

1214颜色论

1215色彩应用

1216三色学说

1217CIE色度图

122颜色模型

1221原色系统

1222RGB颜色模型

1223CMY颜色模型

1224HSV颜色模型

123本章要点

124本章作业

第13章光照模型

131光照模型

1311环境光

1312漫反射和Lambert模型

1313镜面反射和Phong模型

1314透明模型

1315简单局部光照模型

132插值算法

1321恒定明暗处理

1322Gouraud明暗处理——光强
插值算法

1323Phong明暗处理——法向插值
算法

133光线跟踪


1331Whitted整体光照模型

1332光线跟踪基本原理

1333光线跟踪算法

1334光线跟踪算法中的关键技术

1335光线跟踪的反走样

134阴影

1341自身阴影

1342投射阴影

1343阴影算法

135纹理

1351纹理的定义

1352颜色纹理

1353几何纹理

136本章要点

137本章作业

第四篇交互

第14章交互技术

141设计原则

142界面和菜单设计

1421建立一个新应用

1422定义主菜单

1423定义一个执行菜单

1424添加源代码

1425C语言(*c)程序文件的
加入

1426加标题

143交互系统的基本技术

1431定位技术

1432橡皮筋技术

1433拖拽技术

1434选择技术

144数据结构设计

1441图形的数据结构设计

1442层的数据结构设计

1443基本图元的数据结构设计

1444辅助图元的数据结构设计

1445其他数据结构设计

145UNDO和REDO技术

146本章要点

147本章作业

附录教学网站

参考文献

教学建议


教学资源推荐
作者: 顾小丰 孙世新 卢光辉 编著
作者: [美]马克·艾伦·维斯(Mark Allen Weiss) 著
作者: James D.Foley,Andries van Dam,Steven K.Feiner,John F.Hughes,Richard L. Phillips
参考读物推荐
作者: 吴永辉 编著
作者: 甘登岱
作者: [阿联酋] 杰拉西莫斯?巴拉斯(Gerassimos Barlas) 著