第一章 绪论 1
1.1 图形无所不在 1
1.2 景物的几何建模 4
1.3 场景绘制 8
1.4 人机交互界面 10
1.5 计算机动画 11
习题 12
第二章 计算机图形系统及其设备 13
2.1 计算机图形显示原理 13
2.1.1 CRT显示器 13
2.1.2 光栅扫描图形显示原理 16
2.1.3 液晶显示器 17
2.1.4 显示适配器 18
2.2.1 微型计算机图形系统 23
2.2 计算机图形系统概述 23
2.2.2 图形工作站 25
2.2.3 虚拟现实系统 25
2.3 图形输入设备 26
2.3.1 光笔 26
2.3.2 图形输入板 27
2.3.3 触摸板 27
2.3.4 图形扫描仪 28
2.3.5 语音系统 29
2.3.6 数据手套 29
2.4 计算机绘图设备 29
2.4.1 滚筒式绘图机 29
2.4.2 平板式绘图机 30
2.4.3 喷墨式彩色绘图机与静电式绘图机 31
习题 32
3.1 生成直线的DDA方法 33
第三章 生成直线和圆弧的算法 33
3.2 生成直线的Bresenham算法 34
3.3 生成直线算法的进一步改进 36
3.4 Bresenham生成圆弧的算法 38
3.5 绘圆弧的正负法 40
3.6 圆的多边形迫近法 42
习题 46
第四章 变换 48
4.1 一个简单的图形软件包 48
4.2 三维图形的显示流程 50
4.3 三维几何变换 51
4.4 投影 57
4.4.1 透视 57
4.4.3 投影平面是任意平面的情况 59
4.4.2 平行投影 59
4.5 裁剪 62
4.5.1 Sutherland-Cohen算法 63
4.5.2 中点分割算法 65
4.5.3 梁友栋-Barsky算法 65
4.5.4 快速算法 67
4.5.5 其它图形的裁剪 69
4.5.6 三维图形的裁剪 71
4.6 窗口到视区的变换 72
4.7 图形显示流程的进一步说明 74
习题 82
第五章 层次结构 83
5.1 几何模型及其层次结构 83
5.2 层次结构的实现 84
5.3 用结构方法实现层次结构 86
5.4 块和嵌入 90
5.5 层 91
习题 92
第六章 交互技术 93
6.1 交互的硬件设备 93
6.2 基本交互任务 94
6.3 进一步的交互技术 98
6.4 输入过程基本处理模式 105
6.5 设计人机交互的一般风格及原则 107
6.6 图形标准及图形程序库OpenGL 109
习题 111
第七章 光栅图形的扫描转换与区域填充 112
7.1 多边形的扫描转换 112
7.1.1 什么是多边形的扫描转换 112
7.1.3 扫描线算法 113
7.1.2 逐点判断算法 113
7.1.4 边缘填充算法 119
7.1.5 边界标志算法 121
7.2 区域填充 123
7.2.1 区域的表示和类型 123
7.2.2 递归算法 125
7.2.3 扫描线算法 126
7.3 多边形的扫描转换与区域填充的比较 129
7.4 光栅图形的反走样算法 130
7.4.1 光栅图形的走样现象 130
7.4.2 反走样线段 131
7.4.3 反走样多边形 132
7.4.4 提高分辨率的反走样方法 133
习题 133
第八章 隐藏面和隐藏线的消除 134
8.1 多面体的隐藏线消除 135
8.2 曲面的隐藏线消除 140
8.3 区域子分算法 143
8.4 z缓冲器算法和扫描线算法 145
8.5 区间扫描线算法 149
8.6 曲面的扫描线消隐算法 151
8.7 优先级表算法 152
习题 154
第九章 曲线曲面的表示 155
9.1 Bézier曲线曲面 155
9.1.1 Bézier曲线 155
9.1.2 Bézier曲线的拼接 157
9.1.3 Bézier曲线的离散生成 159
9.1.4 Bézier曲面 162
9.2.1 B样条基函数 165
9.2 B样条曲线曲面 165
9.2.2 B样条曲线 166
9.2.3 deBoor算法和B样条曲线的离散生成 168
9.2.4 B样条曲面 171
9.3 孔斯曲面 172
9.3.1 双三次孔斯曲面 172
9.3.2 双三次孔斯曲面与双三次Bèzier曲面的互化 173
9.4 有理形式的曲线曲面 175
9.4.1 有理Bézier曲线 175
9.4.2 二次有理Bézier曲线 176
9.4.3 有理Bézier曲面 177
9.4.4 有理B样条曲线 178
9.4.5 有理B样条曲面 179
9.4.6 有理形式的孔斯曲面 179
习题 180
10.1 概述 181
第十章 三维实体造型 181
10.2 体素构造表示(CSG树表示) 182
10.2.1 三维物体的点集模型 182
10.2.2 物体间的正则集合运算 183
10.2.3 物体的CSG树表示 184
10.2.4 CSG树表示的分治算法 185
10.2.5 光线投射算法 186
10.3 边界表示法 187
10.3.1 三维物体的曲面模型 187
10.3.2 物体的边界表示 187
10.3.3 Sweep运算 190
10.3.4 欧拉运算 191
10.3.5 集合运算 194
10.3.6 局部运算 196
10.4 八叉树表示 198
10.5 基于参数化、特征的实体造型 201
10.5.1 参数化设计 201
10.5.2 基于特征的实体造型 206
习题 209
第十一章 真实感图形的基本理论与算法 211
11.1 引言 211
11.2 简单光照明模型 212
11.3 多边形表示物体的光滑明暗处理 217
11.4 阴影生成 220
11.4.1 影域多边形方法 221
11.4.2 曲面细节多边形方法 222
11.4.3 π缓冲器方法 223
11.4.4 光线跟踪方法 223
11.5.1 透射光亮度的简单模拟 224
11.5 整体光照明模型 224
11.5.2 Whitted光照明模型 225
11.6 光线跟踪技术的基本原理 226
11.7 加速光线跟踪算法 229
11.8 物体表面细节的模拟 236
11.8.1 二维纹理映射原理 236
11.8.2 Catmull纹理映射算法 240
11.8.3 纹理映射中的快速反走样技术 242
11.8.4 环境映照技术 248
11.8.5 三维纹理映射技术 249
11.8.6 几何纹理映射技术 249
11.10.1 理想漫射环境的辐射度方程 250
11.9 图形反走样技术 251
11.9.1 A缓冲器方法 252
11.9.2 复杂阴影生成的反走样技术 254
11.9.3 光线跟踪的图形反走样技术 257
11.10 辐射度方法 258
11.10.2 形状因子 262
11.10.3 半立方体(hemi-cube)算法 263
11.10.4 辐射度方程的求解技术 268
11.10.5 辐射度方法的前后置处理 272
11.10.6 子结构技术 275
习题 277
第十二章 计算机动画 278
12.1 计算机动画的发展历史和应用 279
12.2 商业动画软件简介 282
12.2.1 Alias|Wavefront动画软件 283
12.2.2 Maya动画软件 285
12.2.3 Softimage动画软件 286
12.3 低层运动控制方法 287
12.3.2 样条驱动动画技术 288
12.3.1 参数关键帧技术 288
12.3.3 物体朝向的欧拉角表示和插值技术 289
12.3.4 物体朝向的四元数表示和插值技术 289
12.4 Morphing和空间变形动画技术 292
12.4.1 二维多边形形状渐变 292
12.4.2 二维图象morphing技术 293
12.4.3 三维morphing技术 298
12.4.4 整体和局部变形方法 300
12.4.5 自由变形方法FFD及其变种 300
12.4.6 其它变形方法 303
12.4.7 元球的造型和动画技术 304
12.5 过程动画技术 305
12.5.1 粒子系统 305
12.5.3 布料动画 307
12.5.2 群体动画 307
12.5.4 水波动画 308
12.6 关节动画与脸部表情动画技术 308
12.6.1 关节链结构的基本概念 309
12.6.2 关节链结构表示 309
12.6.3 关节链结构的运动求解技术 310
12.6.4 复杂骨架的层次构造及其运动控制 310
12.6.5 两足行走模型 312
12.6.6 骨架驱动的肌肉模型 313
12.6.7 脸部表情动画 315
12.7 基于物理的动画技术 316
12.7.1 刚体运动模拟 317
12.7.2 塑性物体变形运动 318
12.7.4 其它动力学模型 319
习题 319
12.7.3 流体运动模拟 319
第十三章 科学计算可视化 321
13.1 引言 321
13.1.1 科学计算可视化出现的背景、意义及与计算机图形学的关系 321
13.1.2 科学计算可视化的基本步骤 322
13.1.3 科学计算可视化的应用 322
13.2 可视化数据的基本表示 324
13.2.1 可视化数据的基本特征 324
13.2.2 可视化数据表示的设计策略 324
13.2.3 数据集的类型 325
13.3 面绘制方法 329
13.3.1 基于等值线的生成方法 329
13.3.2 基于体素(voxel)的生成方法 332
13.4.2 体光照模型 335
13.4.1 体绘制方法出现的背景 335
13.4 体绘制方法 335
13.3.3 基于能量函数的封闭等值面生成方法 335
13.4.3 以图像空间为序的体绘制方法 336
13.4.4 以物体空间为序的体绘制方法 337
13.4.5 其它的体绘制方法 340
13.4.6 面绘制和体绘制相结合的方法 341
13.5 矢量场和张量场的可视化 341
13.5.1 三维矢量场可视化的研究内容及难点 341
13.5.2 基于几何形状的矢量场映射方法 341
13.5.3 基于颜色、光学系统的矢量场映射方法 344
13.5.4 基于纹理的矢量场映射方法 346
13.5.5 特征可视化 348
13.5.6 张量场的可视化 350
13.6 免费可视化软件VTK简介 352
习题 352
参考文献 353