目录 1
出版者的话 1
专家指导委员会 1
译者序 1
前言 1
第1章 计算机图形学的数学基础 1
1.1 处理三维结构 1
1.1.1 计算机图形学中的三维仿射变换 1
1.1.2 改变坐标系的变换 6
1.2 结构变形变换 7
1.3 向量和计算机图形学 9
1.3.1 向量的加法 9
1.3.2 向量的长度 10
1.3.3 法向量和叉积 10
1.3.4 法向量和点积 11
1.3.5 与法向量反射相关的向量 12
1.4 光线和计算机图形学 13
1.4.2 相交——光线与球 14
1.4.1 光线几何——相交 14
1.4.3 相交——光线与凸多边形 15
1.4.4 相交——光线与包围盒 16
1.4.5 相交——光线与二次形 18
1.4.6 光线跟踪几何——反射和折射 18
1.5 图像平面中的插值性质 20
第2章 三维物体的表示和建模(1) 21
引言 21
2.1 三维物体的多边形表示 25
2.1.1 创建多边形物体 28
2.1.2 多边形物体的手工建模 29
2.1.3 多边形物体的自动产生 29
2.1.4 多边形物体的数学产生 30
2.1.5 程序化的多边形网格物体——分形物体 34
2.2 物体的构造实体几何表示 36
2.3 物体表示的空间细分技术 38
2.3.1 八叉树和多边形 40
2.3.2 BSP树 41
2.3.3 创建体素实体 42
2.4 用隐函数表示物体 43
2.5 场景管理和物体表示 44
2.6 总结 48
第3章 三维物体的表示和建模(2) 51
引言 51
3.1 Bezier曲线 53
3.1.1 连接Bezier曲线段 58
3.1.2 Bezier曲线性质总结 59
3.2.1 B样条曲线 60
3.2 B样条表示 60
3.2.2 均匀B样条 61
3.2.3 非均匀B样条 64
3.2.4 B样条曲线性质总结 70
3.3 有理曲线 70
3.3.1 有理Bezier曲线 70
3.3.2 NURBS 72
3.4 从曲线到表面 73
3.4.1 连续性和Bezier曲面片 76
3.4.2 一个Bezier曲面片物体——Utah茶壶 78
3.5 B样条表面的曲面片 79
3.6 建立曲面片表面 82
3.6.1 截面或线性轴设计实例 84
3.6.2 控制多面体设计——基本技术 87
3.6.3 用表面拟合来创建曲面片物体 90
3.7 从曲面片到物体 94
引言 97
4.1 绘制多边形网格——简单综述 97
第4章 表示和绘制 97
4.2 绘制参数化表面 98
4.2.1 直接由曲面片描述进行绘制 99
4.2.2 曲面片向多边形转换 100
4.2.3 物体空间细分 101
4.2.4 图像空间细分 106
4.3 绘制构造实体几何表示 108
4.4 绘制体素表示 110
4.5 绘制隐函数 110
5.1 绘图流程中的坐标空间 113
5.1.1 局部坐标系或建模坐标系 113
引言 113
第5章 绘图流程(1):几何操作 113
5.1.2 世界坐标系 114
5.1.3 摄像机/眼睛/观察坐标系 114
5.2 在观察空间中进行的操作 116
5.2.1 消隐或背面清除 116
5.2.2 视见体 116
5.2.3 三维屏幕空间 118
5.2.4 视见体和深度 120
5.3 先进的观察系统(PHIGS和GKS) 123
5.3.1 PHIGS观察系统概述 124
5.3.2 观察方向参数 125
5.3.3 观察映射参数 126
5.3.4 观察平面的更详细讨论 127
5.3.5 实现一个PHIGS型观察系统 128
第6章 绘图流程(2):绘制或算法过程 131
引言 131
6.1 在视见体上裁剪多边形 131
6.2 对像素明暗处理 134
6.2.1 局部反射模型 135
6.2.2 局部反射模型——实际问题 139
6.2.3 局部反射模型——关于光源的考虑 140
6.3 插值明暗处理技术 140
6.3.1 插值明暗处理技术——Gouraud明暗处理 140
6.3.2 插值明暗处理技术——Phong明暗处理 141
6.3.3 绘制程序的明暗处理选项 142
6.3.4 Gouraud明暗处理和Phong明暗处理的比较 143
6.4 光栅化 143
6.4.1 光栅化边 143
6.4.2 光栅化多边形 145
6.5 绘制的顺序 146
6.6 隐藏面消除 147
6.6.1 Z缓冲器算法 148
6.6.2 Z缓冲器和CSG表示 148
6.6.3 Z缓冲器与合成 149
6.6.4 Z缓冲器和绘制 150
6.6.5 扫描线z缓冲器 151
6.6.6 跨跃式隐藏面消除 151
6.6.7 一个跨跃式扫描线算法 151
6.6.8 z缓冲器和复杂场景 153
6.6.9 Z缓冲器总结 154
6.6.10 BSP树和隐藏面消除 155
6.7 多路绘制和累加缓冲器 157
第7章 模拟光线——物体相交:局部反射模型 161
引言 161
7.1 来自完全表面的反射 162
7.2 来自不完全表面的反射 163
7.3 双向反射分布函数 163
7.4 漫反射分量和镜面反射分量 165
7.6 基于物理的镜面反射 166
7.5 完全漫反射——经验型散布镜面反射 166
7.6.1 建模表面的微观几何 167
7.6.2 阴影和屏蔽效果 167
7.6.3 观察几何学 169
7.6.4 Fresnel项 169
7.7 预计算BRDF 171
7.8 基于物理的漫反射分量 172
第8章 映射技术 175
引言 175
8.1.1 用双线性插值进行反向映射 179
8.1 二维纹理映射到多边形网格物体 179
8.1.2 用中间表面进行反向映射 180
8.2 二维纹理域到双三次参数曲面片物体 182
8.3 广告牌 184
8.4 凹凸映射 184
8.4.1 用于凹凸映射的多路技术 186
8.4.2 用于凹凸映射的预计算技术 187
8.5 光线图 187
8.6 环境映射或反射映射 189
8.6.1 立方体映射 190
8.6.2 球映射 192
8.6.3 环境映射:比较点 193
8.6.4 表面性质和环境映射 193
8.7 三维纹理域技术 194
8.7.1 三维噪声 195
8.7.2 模拟扰动 196
8.7.3 三维纹理和动画 197
8.7.4 三维光线图 198
8.8 反走样和纹理映射 199
8.9 纹理映射中的交互式技术 201
第9章 几何阴影 205
引言 205
9.1 计算机图形学中阴影的性质 205
9.2 地平面上的简单阴影 207
9.3 阴影算法 207
9.3.1 阴影算法:投影多边形/扫描线 207
9.3.2 阴影算法:阴影体 209
9.3.4 阴影算法:阴影Z缓冲器 211
9.3.3 阴影算法:从光源变换导出阴影多边形 211
第10章 全局照明 215
引言 215
10.1 全局照明模型 216
10.1.1 绘制方程 216
10.1.2 辐射光亮度、辐照度和辐射光亮度方程 217
10.1.3 路径的标注 219
10.2 全局照明算法的发展 221
10.3 已建立的算法——光线跟踪和辐射度 221
10.3.1 Whitted光线跟踪方法 221
10.3.2 辐射度方法 223
10.4 全局照明中的蒙特卡罗技术 225
10.5 路径跟踪 228
10.6 分布式光线跟踪 229
10.7 二路光线跟踪 232
10.8 依赖于观察/独立于观察和多路方法 234
10.9 存储照明 236
10.10 光线体 238
10.11 粒子跟踪和密度估计 238
引言 241
第11章 辐射度方法 241
11.1 辐射度理论 242
11.2 形状因子的确定 243
11.3 Gauss-Seidel方法 247
11.4 观察部分解——渐进式细化 248
11.5 辐射度方法存在的问题 250
11.6 辐射度图像中的人工痕迹 251
11.6.1 半立方体人工痕迹 251
11.6.2 重建人工痕迹 253
11.6.3 网格化人工痕迹 254
11.7 网格化策略 255
11.7.1 自适应或后网格化 256
11.7.2 预网格化 260
第12章 光线跟踪策略 271
引言——Whitted光线跟踪 271
12.1 基本算法 272
12.1.1 跟踪光线——初始的考虑 272
12.1.2 照明模型分量 272
12.1.3 阴影 273
12.1.4 隐藏面消除 274
12.2 用递归方法实现光线跟踪 275
12.3 七条光线的旅程——一个光线跟踪研究 277
12.4 光线跟踪多边形物体——多边形交点处的法向插值 279
12.5 光线跟踪方法的效率问题 280
12.5.1 自适应深度控制 280
12.5.2 第一次碰撞加速 281
12.5.3 具有简单形状的限定物体 281
12.5.4 二次数据结构 283
12.5.5 光线空间细分 287
12.6 利用光线的连贯性 288
12.7 一个历史话题——彩虹的光学问题 291
第13章 体绘制 293
引言 293
13.1 体绘制和体数据的可视化 295
13.2 “半透明胶质”选项 298
13.2.1 体素分类 299
13.2.2 变换到观察方向 299
13.2.3 沿着光线合成像素 300
13.3 半透明胶质和表面 301
13.4 体绘制算法中关于结构的考虑 304
13.4.1 光线投射(未经变换的数据) 305
13.4.2 光线投射(变换后的数据) 306
13.4.3 体素投影方法 307
13.5 体绘制过程中的透视投影 309
13.6 三维纹理和体绘制 309
第14章 反走样理论及实践 311
引言 311
14.1 走样和采样 311
14.2 锯齿形边 315
14.3 计算机图形学中的采样与真实采样之间的比较 316
14.4 采样和重建 317
14.5 一个简单的比较 318
14.6 预过滤方法 319
14.7 超采样或后过滤 320
14.8 非均匀采样——一些理论概念 322
14.9 图像的傅里叶变换 326
第15章 颜色和计算机图形学 333
引言 333
15.1 计算机成像中的颜色集 334
15.2 颜色和三维空间 335
15.2.1 RGB空间 337
15.2.2 HSV单六面体模型 338
15.2.3 YIQ空间 340
15.3 颜色、信息和感知空间 340
15.3.1 CIE XYZ空间 341
15.3.2 CIE xyY空间 344
15.4 绘制和颜色空间 346
15.5.2 关于监视器的考虑——不同的监视器和相同的颜色 347
15.5 关于监视器的考虑 347
15.5.1 RGB监视器和其他监视器的考虑 347
15.5.3 关于监视器的考虑——颜色显示范围的映射 349
15.5.4 关于监视器的考虑——y校正 350
第16章 基于图像的绘制和照片建模 353
引言 353
16.1 以前绘制的图像的复用——二维技术 353
16.1.1 平面“冒名顶替者”或小画面 354
16.1.2 计算平面小画面的有效性 355
16.2.1 优先绘制 356
16.2 改变绘制的资源 356
16.2.2 图像分层 357
16.3 运用深度信息 359
16.3.1 三维扭曲 359
16.3.2 分层深度图像 363
16.4 观察插值 365
16.5 四维技术——照明绘图或光线场绘制方法 368
16.6 照片建模和IBR 370
16.6.2 合成全景图 373
16.6.1 利用照片全景图进行基于图像的绘制 373
16.6.3 基于图像绘制的照片建模 374
第17章 计算机动画 377
引言 377
17.1 计算机动画技术的分类和描述 379
17.2 刚体动画 380
17.2.1 插值或关键帧 380
17.2.2 明确的脚本 382
17.2.3 旋转的插值 384
17.2.4 用四元方法表示旋转 386
17.2.5 对四元式插值 388
17.2.6 作为动画物体的摄像机 392
17.3 连接结构和层次化运动 392
17.4 计算机动画中的动力学 400
17.4.1 刚体的基本理论——粒子 401
17.4.2 力的性质 402
17.4.3 刚体——有翼展的物质 403
17.4.4 在计算机动画中运用动力学 405
17.4.5 模拟成块物质的动力学 406
17.4.6 空间-间限制 409
17.5.1 非限制性阶段/限制性阶段算法 411
17.5 碰撞检测 411
17.5.2 用OBB进行非限制性阶段的碰撞检测 412
17.5.3 限制性阶段:凸多面体对——准确的碰撞检测 414
17.5.4 单阶段算法——物体的层次结构 415
17.6 碰撞响应 417
17.7 粒子动画 419
17.8 行为动画 421
17.9 总结 423
18.1 局部反射模型 425
第18章 比较图像研究 425
引言 425
18.2 纹理映射和阴影映射 426
18.3 Whitted光线跟踪 427
18.4 辐射度方法 428
18.5 RADIANCE 429
18.6 总结 430
参考文献 431
索引 439