标题：计算机图形学与几何造型导论
基本信息
作者：Ron Goldman
译者：邓建松
ISBN：9787302254720
定价：69元
印次：1-1
装帧：平装
印刷日期：2011-8-18
图书简介
本书适用于那些想在一两个学期内同时讲授或学习上述两个学科的教师和学生。大多数章节都是有意保持为很短的篇幅，因此可以一次性读完，或者在一两个小时内教完。在每章后面提供有练习，供学生检验自己对正文的理解，并且强化对知识点的掌握。
本书第一部分讲解二维计算机图形学，特别集中于对分形的讨论上。分形是一个令我和我的学生感到无限着迷的对象，它为计算机图形学（仿射变换和渲染技术）和几何造型（不动点方法以及为细分曲面所进行的令人叹为观止的准备）提供了出色的介绍。
本书第二部分探讨理解和掌握计算机图形学和几何造型所必需的数学方法。这里强调的重点是与坐标无关的向量技术，这是学生在数学课程中经常遇到的内容，但是他们通常没有意识到其实际应用价值。这一部分对仿射和射影变换、矩阵方法以及四元数都进行了详细介绍，这为后续的三维计算机图形学和几何造型讲解铺平了道路。
本书第三部分考虑三维计算机图形学中的经典主题，如颜色和亮度、递归光线跟踪、明暗处理、隐藏面消除算法以及辐射度方法等。这一部分也有些篇幅讲解曲面和实体造型，因为我的本意就是同时讲授几何造型和计算机图形学。
最后，本书第四部分集中于几何造型的传统主题，如B\'ezier、开花和B样条技术等，并且介绍了细分曲面。
有两条主线把本书的这一部分内容与前面的内容联系在一起。首先，对显示这些自由形式曲线和曲面的算法的强调把这部分材料与三维计算机图形学联系在一起。其次，细分曲面和分形之间的联系也被着重讨论，从而本书结尾与本书开始的主题完成了一个轮回。
目录
第一部分二维计算机图形学：从常见曲线到复杂分形
第一章乌龟绘图3
1.1概述3
1.2 乌龟命令3
1.3 乌龟程序7
1.4 总结9
练习9
第二章 应用递归乌龟程序生成分形
12 
2.1 分形12
2.2 循环引理12
2.3 分形曲线和递归乌龟程序16
2.3.1 分形地垫16
2.3.2 凹凸分形18
2.4 总结：分形------实实在在的递归19
练习20
编程作业22
第三章 分形的奇特性质27
3.1 分形的奇特性27
3.2 维数27
3.2.1 分形维数29
3.2.2 从递归乌龟程序计算分形维数29
3.3 可微性30
3.4 吸引性31
3.4.1 Sierpinski地垫的基础情形31
3.4.2 Koch曲线的基础情形32
3.4.3 吸引子33
3.5 总结34
练习34
第四章 仿射变换36 
4.1 变换36
4.2 共形变换37
4.2.1 平移37
4.2.2 旋转38
4.2.3 均匀放缩39
4.3 仿射变换的代数表示40
4.4 仿射变换的几何表示41
4.5 仿射坐标和仿射矩阵41
4.6 共形映射的重新表述42
4.7 一般的仿射变换43
4.7.1 一个点与两个线性无关向量的像43
4.7.2 非均匀放缩45
4.7.3 三不共线点的像46
4.8 总结47
4.8.1 仿射变换和仿射坐标48
4.8.2 平面上仿射变换的矩阵49
练习51
第五章
仿射几何：二维计算机图形学的连点过程57 
5.1 乌龟绘图的两个不足之处57
5.2 仿射绘图57
5.2.1 CODO语言58
5.2.2 CODO程序示例59
5.3 总结61
练习63
第六章 应用迭代函数系统生成分形
66 
6.1 利用迭代变换生成分形66
6.2 作为迭代函数系统不动点的分形67
6.3 作为吸引子的分形69
6.4 具有凝聚集的分形70
6.5 总结71
练习71
编程作业73
第七章 不动点定理及其推论74
7.1 不动点与迭代74
7.2 不动点定理75
7.3 不动点定理的推论77
7.3.1 求根方法77
7.3.2 松弛方法80
7.3.3 分形82
7.4 总结86
练习87
编程作业90
第八章
递归乌龟程序与共形迭代函数系统92 
8.1 动因92
8.2 对乌龟初始状态进行修改的作用92
8.3 等价定理94
8.4 转化算法96
8.4.1 Ron算法96
8.4.2 Tao算法98
8.5 凹凸分形99
8.6 总结101
练习102
编程作业103
\c\large\bf 第二部分 三维计算机图形学的数学方法
第九章 向量几何：与坐标无关的过程107
9.1 与坐标无关的方法107
9.2 向量和向量空间108
9.3 点与仿射空间109
9.4 向量乘积110
9.4.1 点积110
9.4.2 叉积111
9.4.3 行列式112
9.5 总结113
附录A：叉积无结合律114
附录B：点和向量的代数115
练习117
第十章 坐标代数120
10.1 直角坐标120
10.2 加法、减法和标量乘法121
10.3 向量乘积121
10.3.1 点积122
10.3.2 叉积122
10.3.3 行列式123
10.4 总结123
练习124
第十一章 向量几何的应用127
11.1 简介127
11.2 三角定理127
11.2.1 余弦定理127
11.2.2 正弦定理128
11.3 直线和平面的表示129
11.3.1 直线129
11.3.2 平面129
11.4 度量公式130
11.4.1 距离130
11.4.2 面积133
11.4.3 体积135
11.5 直线和平面的交136
11.5.1 两条直线的交点136
11.5.2 三张平面的交点137
11.5.3 两张平面的交线138
11.6 球面线性插值139
11.7 内外检测141
11.7.1 光线投射141
11.7.2 环绕数142
11.8 总结144
11.8.1 三角定理144
11.8.2 度量公式144
11.8.3 交点/交线145
11.8.4 插值146
11.8.5 环绕数146
练习146
第十二章
仿射变换和射影变换的与坐标无关的公式151 
12.1 三维计算机图形学中的变换151
12.2 仿射变换和射影变换151
12.3 刚体运动152
12.3.1 平移152
12.3.2 旋转153
12.3.3 镜像155
12.4 放缩156
12.4.1 均匀放缩156
12.4.2 非均匀放缩157
12.5 投影158
12.5.1 正交投影158
12.5.2 透视投影159
12.6 总结160
12.6.1 不利用矩阵的仿射变换和射影变换160
12.6.2 仿射变换和射影变换的公式161
练习162
第十三章
仿射变换和射影变换的矩阵表示165 
13.1 仿射变换的矩阵表示165
13.2 线性变换矩阵和平移向量167
13.2.1 线性变换矩阵168
13.2.2 平移向量169
13.3 刚体运动169
13.3.1 平移169
13.3.2 旋转170
13.3.3 镜像171
13.4 放缩172
13.4.1 均匀放缩173
13.4.2 非均匀放缩173
13.5 投影174
13.6 透视投影175
13.6.1 射影变换和齐次坐标175
13.6.2 透视投影的矩阵177
13.7 总结178
13.7.1 仿射变换和射影变换的矩阵表示178
13.7.2 仿射变换和射影变换的矩阵179
练习180
编程作业184
第十四章
射影空间与质点通用空间的对比189 
14.1 代数和几何189
14.2 射影空间：标准模型190
14.3 质点空间：通用模型193
14.4 透视投影与伪透视196
14.4.1 透视和杠杆定律196
14.4.2 伪透视和伪深度197
14.5 总结201
练习202
第十五章四元数：质点空间中的乘法
204 
15.1 向量空间和除法代数204
15.2 复数205
15.3 四元数209
15.3.1 四元数乘法209
15.3.2 四维空间中相互正交的平面212
15.3.3 四元数乘法的几何意义214
15.3.4 共形变换的四元数表示218
15.3.5 四元数方法与矩阵方法的对比219
15.3.6 退化的避免220
15.3.7 关键帧动画221
15.3.8 逆公式221
15.4 总结224
练习226
编程作业232
第三部分三维计算机图形学：真实感渲染
第十六章 颜色和亮度237
16.1 动机237
16.2 RGB颜色模型237
16.3 环境光238
16.4 漫反射光239
16.5 镜面高光240
16.6 总亮度242
16.7 总结242
练习243
第十七章 递归光线跟踪244
17.1 光栅图形244
17.2 递归光线跟踪244
17.3 阴影246
17.4 反射247
17.5 折射248
17.6 总结251
练习252
第十八章 曲面（一）：一般理论
253 
18.1 曲面的表示253
18.1.1 隐式曲面253
18.1.2 参数曲面253
18.1.3 变形曲面254
18.1.4 程序生成的曲面254
18.2 曲面法向量255
18.2.1 隐式曲面255
18.2.2 参数曲面255
18.2.3 变形曲面256
18.3 光线与曲面交点的计算257
18.3.1 隐式曲面258
18.3.2 参数曲面258
18.3.3 变形曲面259
18.4 平均曲率和曲率259
18.4.1 隐式曲面260
18.4.2 参数曲面260
18.4.3 变形曲面261
18.5 总结261
18.5.1 隐式曲面261
18.5.2 参数曲面262
18.5.3 变形曲面263
练习263
第十九章 曲面（二）：简单曲面
266 
19.1 简单曲面266
19.2 交点的计算策略266
19.3 平面和多边形267
19.4 自然二次曲面269
19.4.1 球面269
19.4.2 圆柱面272
19.4.3 圆锥面275
19.4.4 椭球面、椭圆柱面和椭圆锥面276
19.5 一般二次曲面277
19.6 圆环面280
19.6.1 圆环面的包围283
19.7 旋转曲面285
19.8 总结288
练习288
编程作业291
第二十章 实体造型293
20.1 实体293
20.2 构造实体几何（CSG）293
20.3 边界表示（B-Rep）297
20.4 八叉树301
20.5 总结303
练习304
编程作业306
第二十一章 明暗处理308
21.1 多边形模型308
21.1.1 多边形法向量计算的公式309
21.2 均匀明暗处理309
21.3 明暗处理310
21.4 明暗处理314
21.4.1 简单的明暗处理314
21.4.2 快速明暗处理和漫反射315
21.4.3 快速明暗处理和镜面反射317
21.4.4 Phong明暗处理和球面线性插值318
21.5 总结320
练习322
编程作业323
第二十二章 隐藏面消除算法324
22.1 隐藏面消除算法概述324
22.2 粗心画家算法325
22.3 缓冲区（深度缓冲区）算法325
22.4 扫描线算法326
22.5 光线投射算法330
22.6 深度排序算法331
22.6.1 多边形的部分333
22.7 BSP树算法335
22.8 总结336
练习337
编程作业337
第二十三章 辐射度方法338
23.1 辐射度方法338
23.2 辐射度方程338
23.2.1 光照方程339
23.2.2 辐射度方程：连续形式339
23.2.3 辐射度方程：离散形式342
23.3 形状因子343
23.4 辐射度渲染算法348
23.5 辐射度方程的求解350
23.5.1 光能收集法350
23.5.2 射击法：渐进改良352
23.6 总结354
练习355
编程作业357
第四部分 几何造型：自由曲线和曲面
第二十四章 曲线和曲面361
24.1 插值与逼近361
24.2 求值算法362
24.3 Bernstein表示365
24.4 曲线的几何性质366
24.4.1 仿射不变性366
24.4.2 凸包性质367
24.4.3 变差减缩性质368
24.4.4 首末控制点插值性质369
24.5 算法的微分370
24.5.1 两条曲线的光滑拼接372
24.5.2 控制点的唯一性373
24.6 张量积曲面片373
24.7 总结377
练习379
第二十五章 细分算法
381 
25.1 分而治之的策略381
25.2 细分算法381
25.3 显示和求交算法385
25.3.1 曲线的显示和求交算法385
25.3.2 曲面的显示和求交算法387
25.4 曲线的变差减缩性质389
25.5 曲线的光滑拼接390
25.6 总结391
练习392
编程作业393
第二十六章 开花395 
26.1 动机395
26.2 开花396
26.3 开花与算法397
26.3.1 基于开花的细分400
26.4 微分和齐次开花400
26.4.1 齐次化和齐次开花401
26.4.2 算法的微分405
26.4.3 单项式和形式之间的转化算法
407
26.5 总结409
练习411
第二十七章 B样条曲线和曲面
413 
27.1 动机413
27.2 开花和局部de Boor算法414
27.3 B样条曲线和全局de Boor算法417
27.4 光滑性419
27.5 全局de Boor算法中的标记和局部性421
27.6 每个样条都是B样条422
27.7 B样条曲线的几何性质424
27.8 张量积B样条曲面425
27.9 非均匀有理B样条（NURBS）427
27.10 总结428
练习429
第二十八章
B样条曲线和曲面的节点插入算法432 
28.1 动机432
28.2 节点插入432
28.3 局部节点插入算法433
28.3.1 Boehm节点插入算法433
28.3.2 Oslo算法435
28.3.3 从B样条转化为分片形式
436
28.3.4 B样条曲线的变差减缩性质436
28.3.5 B样条曲线和曲面的显示和求交算法
437
28.4 全局节点插入算法438
28.4.1 Lane-Riesenfeld算法439
28.4.2 节点插入的算法441
28.4.3 节点插入算法的收敛性443
28.4.4 B样条曲线和曲面的显示和求交算法的修正
444
28.5 总结446
练习448
编程作业450
第二十九章细分矩阵和迭代函数系统
451 
29.1 细分算法和分形过程451
29.2 细分矩阵452
29.2.1 曲线的细分矩阵453
29.2.2 均匀B样条曲线的细分矩阵455
29.3 从细分矩阵建立迭代函数系统459
29.3.1 把控制点提升到高维空间459
29.3.2 规范曲线463
29.4 具有控制点的分形465
29.5 总结467
29.5.1 曲线468
29.5.2 均匀B样条469
练习470
编程作业471
第三十章 细分曲面472
30.1 动机472
30.2 箱样条473
30.2.1 分裂与平均473
30.2.2 箱样条曲面的细分过程475
30.3 四边形网格476
30.3.1 重心平均法478
30.3.2 任意四边形网格479
30.3.3 模板方法481
30.4 三角形网格484
30.4.1 三角形网格的重心平均485
30.4.2 三角形网格的模板488
30.5 总结490
30.5.1 双三次张量积B样条和三方向四次箱样条
491
30.5.2 任意拓扑网格的重心平均494
30.5.3 异常顶点的模板495
练习496
编程作业499
参考读物501
索引506[1]