第1章 绪论 1
计算机图形学及其相关概念 1
计算机图形学的发展 2
计算机图形学学科的发展 2
图形硬件设备的发展 3
图形软件的发展 4
计算机图形学的应用 4
计算机辅助设计与制造 4
计算机辅助绘图 5
计算机辅助教学 5
办公自动化和电子出版技术 6
计算机艺术 6
在工业控制及交通方面的应用 6
在医疗卫生方面的应用 6
图形用户界面 7
计算机图形学研究动态 7
计算机动画 7
地理信息系统 9
人机交互 9
真实感图形显示 10
虚拟现实 11
科学计算可视化 13
并行图形处理 14
习题1 14
第2章 计算机图形系统及图形硬件 15
计算机图形系统概述 15
计算机图形系统的功能 15
计算机图形系统的结构 16
图形输入设备 19
键盘 19
鼠标器 19
光笔 19
触摸屏 20
操纵杆 21
跟踪球和空间球 21
数据手套 21
数字化仪 22
图像扫描仪 23
声频输入系统 23
视频输入系统 23
图形显示设备 23
阴极射线管 24
CRT图形显示器 29
平板显示器 32
三维观察设备 35
图形显示子系统 36
光栅扫描图形显示子系统的结构 36
绘制流水线 37
相关概念 39
图形硬拷贝设备 42
打印机 42
绘图仪 43
OpenGL图形软件包 43
OpenGL的主要功能 44
OpenGL的绘制流程 44
OpenGL的基本语法 45
一个完整的OpenGL程序 46
习题2 49
第3章 用户接口与交互式技术 50
用户接口设计 50
用户模型 50
显示屏幕的有效利用 50
反馈 51
一致性原则 52
减少记忆量 52
回退和出错处理 53
联机帮助 53
视觉效果设计 53
适应不同的用户 53
逻辑输入设备与输入处理 54
逻辑输入设备 54
输入模式 57
交互式绘图技术 58
基本交互式绘图技术 58
三维交互技术 60
OpenGL中橡皮筋技术的实现 62
基于鼠标的实现 62
基于键盘的实现 65
OpenGL中拾取操作的实现 66
OpenGL的菜单功能 70
习题3 71
第4章 图形的表示与数据结构 72
基本概念 72
基本图形元素 72
几何信息与拓扑信息 73
坐标系 74
实体的定义 76
正则集合运算 77
平面多面体与欧拉公式 79
三维形体的表示 80
多边形表面模型 81
扫描表示 84
构造实体几何法 85
空间位置枚举表示 87
八叉树 87
BSP树 89
OpenGL中的实体模型函数 89
非规则对象的表示 94
分形几何 94
形状语法 97
粒子系统 97
基于物理的建模 98
数据场的可视化 98
层次建模 99
段与层次建模 99
层次模型的实现 100
OpenGL中层次模型的实现 101
习题4 103
第5章 基本图形生成算法 104
直线的扫描转换 104
数值微分法 104
中点Bresenham算法 106
Bresenham算法 109
圆的扫描转换 110
八分法画圆 111
中点Bresenham画圆算法 111
椭圆的扫描转换 113
椭圆的特征 113
椭圆的中点Bresenham算法 114
多边形的扫描转换与区域填充 118
多边形的扫描转换 118
边缘填充算法 122
区域填充 124
其他相关的概念 128
字符处理 129
点阵字符 130
矢量字符 130
属性处理 131
线型和线宽 131
字符的属性 134
区域填充的属性 134
反走样 135
过取样 136
简单的区域取样 137
加权区域取样 138
在OpenGL中绘制图形 139
点的绘制 139
直线的绘制 140
多边形面的绘制 141
OpenGL中的字符函数 146
OpenGL中的反走样 146
习题5 149
第6章 二维变换及二维观察 151
基本概念 151
几何变换 151
齐次坐标 151
二维变换矩阵 152
基本几何变换 152
平移变换 152
比例变换 153
旋转变换 154
对称变换 154
错切变换 156
二维图形几何变换的计算 157
复合变换 158
二维复合平移变换 158
二维复合比例变换 159
二维复合旋转变换 159
其他二维复合变换 159
相对任一参考点的二维几何变换 160
相对于任意方向的二维几何变换 160
坐标系之间的变换 162
光栅变换 163
变换的性质 164
二维观察 165
基本概念 165
用户坐标系到观察坐标系的变换 167
窗口到视区的变换 167
裁剪 168
点的裁剪 169
直线段的裁剪 169
多边形的裁剪 176
其他裁剪 179
OpenGL中的二维观察变换 180
习题6 182
第7章 三维变换及三维观察 184
三维变换的基本概念 184
几何变换 184
三维齐次坐标变换矩阵 184
平面几何投影 185
三维几何变换 186
三维基本几何变换 186
三维复合变换 191
三维投影变换 195
正投影 195
斜投影 201
透视投影 202
一点透视 204
二点透视 205
三点透视 207
观察坐标系及观察空间 208
观察坐标系 208
观察空间 209
三维观察流程 212
用户坐标系到观察坐标系的变换 213
平行投影的规范化投影变换 214
透视投影的规范化投影变换 215
三维裁剪 218
关于规范化观察空间的裁剪 219
齐次坐标空间的裁剪 219
OpenGL中的变换 220
矩阵堆栈 220
模型视图变换 221
投影变换 223
实例 224
习题7 227
第8章 曲线与曲面 229
基本概念 229
曲线/曲面数学描述的发展 229
曲线/曲面的表示要求 230
曲线/曲面的表示 231
插值与逼近 232
连续性条件 232
样条描述 233
三次样条 234
自然三次样条 235
Hermite插值样条 235
Bezier曲线/曲面 237
Bezier曲线的定义 237
Bezier曲线的性质 239
Bezier曲线的生成 244
Bezier曲面 244
B样条曲线/曲面 246
B样条曲线 246
B样条曲线的性质 251
B样条曲面 253
有理样条曲线/曲面 254
NURBS曲线/曲面的定义 254
有理基函数的性质 256
NURBS曲线/曲面的特点 256
曲线/曲面的转换和计算 257
样条曲线/曲面的转换 257
样条曲线/曲面的离散生成 258
OpenGL生成曲线/曲面 261
Bezier曲线/曲面函数 261
GLU中的B样条曲线/曲面函数 264
习题8 271
第9章 消隐 272
深度缓存器算法 272
区间扫描线算法 274
深度排序算法 276
区域细分算法 278
光线投射算法 279
BSP树 280
多边形区域排序算法 281
OpenGL中的消隐处理 282
习题9 287
第10章 真实感图形绘制 288
简单光照模型 288
环境光 288
漫反射光 289
镜面反射光 290
光强衰减 292
颜色 292
基于简单光照模型的多边形绘制 294
恒定光强的多边形绘制 294
Gouraud明暗处理 295
Phong明暗处理 296
透明处理 297
产生阴影 299
模拟景物表面细节 299
用多边形模拟表面细节 299
纹理的定义和映射 300
凹凸映射 301
整体光照模型与光线追踪 302
整体光照模型 302
Whitted光照模型 302
光线跟踪算法 303
光线跟踪反走样 305
OpenGL中的光照与表面绘制函数 306
OpenGL点光源 306
OpenGL全局光照 307
OpenGL表面材质 308
OpenGL透明处理 309
OpenGL表面绘制 310
实例 310
OpenGL中的纹理映射 312
习题10 314
参考文献 316