第1章 绪论 1
1.1 计算机图形学的研究内容 1
1.2 计算机图形学与图像处理 2
1.3 计算机图形学的发展 3
1.4 计算机图形学的应用领域 4
习题一 6
第2章 图形系统 7
2.1 图形系统的组成 7
2.1.1 图形系统的功能 7
2.1.2 图形系统的分类 8
2.2 图形硬件设备 9
2.2.1 主机 9
2.2.2 图形显示设备 9
2.2.3 图形绘制设备 20
2.2.4 图形输入设备 25
2.3 图形软件系统 30
2.3.1 图形软件的层次 30
2.3.2 图形软件标准 31
2.3.3 OpenGL简介 32
习题二 39
第3章 基本图形生成算法 40
3.1 生成直线的常用算法 40
3.1.1 DDA画线算法 41
3.1.2 中点画线算法 43
3.1.3 Bresenham画线算法 45
3.1.4 直线属性 49
3.2 生成圆弧的常用算法 51
3.2.1 圆的特性 51
3.2.2 中点画圆算法 51
3.2.3 Bresenham画圆算法 53
3.3 区域填充 55
3.3.1 区域的表示和类型 55
3.3.2 扫描线多边形填充算法 57
3.3.3 边填充算法 64
3.3.4 种子填充算法 66
3.3.5 圆域的填充 68
3.3.6 区域填充属性 69
3.4 字符 70
3.4.1 字符存储与显示 70
3.4.2 字符属性 72
3.5 裁剪 73
3.5.1 点的裁剪 74
3.5.2 直线裁剪 74
3.5.3 多边形裁剪 82
3.5.4 曲线裁剪 86
3.5.5 字符裁剪 87
3.5.6 三维图形的裁剪 87
3.6 反走样 88
3.6.1 光栅图形的走样现象 88
3.6.2 常用反走样技术 90
3.7 平面图形的绘制 93
3.7.1 直线的绘制 93
3.7.2 圆的绘制 94
3.7.3 利用圆绘制的图形 94
习题三 97
第4章 图形变换 99
4.1 二维图形几何变换 99
4.1.1 齐次坐标 99
4.1.2 二维图形的基本变换 100
4.1.3 复合变换 107
4.2 三维图形几何变换 113
4.2.1 三维图形的基本变换 114
4.2.2 复合变换 122
4.3 投影变换 124
4.3.1 投影变换的基本概念 124
4.3.2 平行投影 125
4.3.3 透视投影 130
4.4 坐标系统及其变换 133
4.4.1 坐标系统 133
4.4.2 模型变换 135
4.4.3 观察变换 135
4.4.4 窗口—视区变换 138
习题四 140
第5章 曲线和曲面 142
5.1 参数表示曲线和曲面的基础知识 142
5.1.1 曲线和曲面的表示方法 142
5.1.2 位置矢量、切矢量、法矢量、曲率与挠率 143
5.1.3 样条表示 144
5.2 Hermite曲线 146
5.2.1 n次参数多项式曲线 146
5.2.2 三次Hermite曲线的定义 147
5.2.3 三次Hermite曲线的矩阵表示 148
5.2.4 三次Hermite曲线的算法 149
5.3 Bezier曲线 150
5.3.1 Bezier曲线的定义 150
5.3.2 Bernstein基函数的性质 152
5.3.3 Bezier曲线的性质 153
5.3.4 Bezier曲线的生成 156
5.4 B样条曲线 163
5.4.1 B样条曲线的定义 163
5.4.2 B样条曲线的表示及性质 164
5.4.3 B样条曲线的生成 168
5.5 Coons曲面 171
5.5.1 参数曲面的基本概念 171
5.5.2 Coons曲面的定义 172
5.5.3 Coons曲面的拼合 173
5.6 Bezier曲面 173
5.6.1 Bezier曲面的定义及性质 173
5.6.2 Bezier曲面的生成 175
5.7 B样条曲面 180
5.7.1 B样条曲面的定义 180
5.7.2 B样条曲面的生成 181
习题五 186
第6章 几何造型 187
6.1 简单几何形体 187
6.1.1 几何元素的定义 187
6.1.2 平面立体的拓扑关系 188
6.2 形体的常用模型 188
6.2.1 线框模型 189
6.2.2 表面模型 190
6.2.3 实体模型 190
6.3 形体的常用表示方法 191
6.3.1 分解表示 191
6.3.2 构造表示 192
6.3.3 边界表示 193
6.3.4 点云表示 197
习题六 198
第7章 消隐 200
7.1 基本概念 200
7.1.1 消隐的定义 200
7.1.2 消隐的分类 200
7.1.3 消隐算法的基本原则 201
7.2 画家算法 203
7.2.1 算法的基本思想 203
7.2.2 深度优先级表的建立 203
7.3 Z缓冲区(Z-Buffer)算法 204
7.3.1 算法的基本思想 204
7.3.2 算法的描述 205
7.3.3 算法的改进 206
7.4 扫描线Z缓冲区算法 206
7.4.1 算法的基本思想 206
7.4.2 算法的描述 206
7.5 光线追踪算法 207
7.5.1 算法的基本思想 207
7.5.2 算法的描述 208
7.6 区域分割算法 208
7.6.1 算法的基本思想 208
7.6.2 算法的描述 209
习题七 210
第8章 真实图形 211
8.1 光照模型 211
8.1.1 基本光学原理 211
8.1.2 环境光 212
8.1.3 漫反射光 212
8.1.4 镜面反射光和冯(Phong)反射模型 213
8.2 明暗处理 215
8.2.1 双线性光强插值(Gouraud明暗处理) 215
8.2.2 双线性法向插值(Phong明暗处理) 216
8.3 纹理 217
8.3.1 概述 218
8.3.2 二维纹理域的映射 218
8.3.3 三维纹理域的映射 220
8.3.4 几何纹理 220
8.4 光线跟踪 221
8.4.1 基本光线跟踪算法 221
8.4.2 光线与物体的求交 224
8.4.3 光线跟踪算法的加速 226
习题八 228
附录 229
附录A 图形变换的数学基础 229
附录B Turbo C绘图功能 232
附录C 模拟试题 236
附录D 课程实验指导 255
习题参考答案 281
习题一 281
习题二 281
习题三 283
习题四 286
习题五 290
习题六 292
习题七 292
习题八 294
参考文献 296