第1章 绪论1
1.1 计算机图形学基本概念 1
1.1.1 什么是计算机图形学 1
1.1.2 图形和图像 1
1.1.3 计算机图形学与其他学科的关系 2
1.2 计算机图形学发展历史 2
1.3 计算机图形学的应用 3
1.3.1 用户接口 3
1.3.2 计算机辅助设计 4
1.3.3 数字娱乐 4
1.3.4 计算机辅助绘图 5
1.3.5 计算机辅助教学 5
1.3.6 科学计算的可视化 6
1.3.7 计算机艺术 6
习题 7
第2章 计算机图形系统8
2.1 计算机图形系统概述 8
2.1.1 计算机图形系统的功能 8
2.1.2 计算机图形系统的结构 9
2.2 计算机图形硬件设备 9
2.2.1 图形输入设备 9
2.2.2 图形显示设备 11
2.2.3 图形绘制设备 17
2.3 计算机图形软件 17
2.3.1 计算机图形软件分类 17
2.3.2 用户接口设计 18
2.3.3 基本交互式绘图技术 20
习题 21 计算机图形学基础 目 录 第3章 OpenGL编程环境介绍22
3.1 VS.NET 2008开发环境简介 22
3.2 OpenGL图形软件包介绍 23
3.2.1 OpenGL概述 23
3.2.2 OpenGL的主要功能 23
3.2.3 OpenGL的基本语法 24
3.3 设置OpenGL编程环境 25
3.3.1 OpenGL编程环境设置 25
3.3.2 OpenGL程序的结构 28
习题 30
第4章 基本图形生成算法31
4.1 什么是扫描转换 31
4.2 直线的扫描转换 31
4.2.1 DDA画线法 32
4.2.2 中点画线法 35
4.2.3 Bresenham画线法 39
4.3 圆的扫描转换 43
4.3.1 根据圆的方程画圆 43
4.3.2 中点画圆法 44
4.3.3 Bresenham画圆法 48
4.4 区域填充 51
4.4.1 扫描线多边形填充算法 51
4.4.2 边缘填充算法 60
4.4.3 种子填充算法 61
4.4.4 其他填充算法 66
4.4.5 区域填充的属性处理 67
4.5 属性处理 67
4.5.1 直线的线型处理 67
4.5.2 直线的线宽处理 68
4.5.3 曲线的线宽处理 72
4.6 字符 73
4.6.1 基本概念 73
4.6.2 点阵字符 73
4.6.3 矢量字符 74
4.7 反走样 74
4.7.1 提高分辨率 75
4.7.2 简单区域取样 76
4.7.3 加权区域取样 77
习题 78
第5章 二维变换和二维观察79
5.1 图形变换基本知识 79
5.1.1 矢量和矩阵 79
5.1.2 齐次坐标 81
5.2 基本二维变换 81
5.2.1 平移变换 82
5.2.2 旋转变换 82
5.2.3 缩放变换 83
5.2.4 基本二维变换的矩阵表示 84
5.2.5 其他变换 96
5.3 二维复合变换 105
5.3.1 连续平移 105
5.3.2 连续旋转 106
5.3.3 连续缩放 106
5.3.4 通用基准点的变换 106
5.3.5 通用方向的变换 107
5.3.6 二维变换总结 108
5.4 二维观察 109
5.4.1 二维观察流程 109
5.4.2 用户坐标系到观察坐标系的变换 110
5.4.3 窗口到视区的变换 111
5.4.4 二维裁剪概述 112
5.4.5 点裁剪 112
5.4.6 直线的裁剪 112
5.4.7 多边形的裁剪 125
5.4.8 曲线的裁剪 128
5.4.9 字符的裁剪 128
习题 128
第6章 三维变换和三维观察130
6.1 三维变换概述 130
6.2 三维几何变换 130
6.2.1 三维平移变换 131
6.2.2 三维变比变换 136
6.2.3 三维旋转变换 141
6.2.4 三维反射变换 147
6.2.5 三维错切变换 153
6.2.6 三维复合变换 158
6.3 三维投影变换 162
6.3.1 三维投影变换的分类 162
6.3.2 三视图 164
6.3.3 正轴测 166
6.3.4 斜平行投影 169
6.3.5 透视投影 171
6.4 三维观察 178
6.4.1 观察坐标系 178
6.4.2 观察空间 179
6.4.3 三维观察流程 180
习题 180
第7章 三维对象的表示181
7.1 三维对象表示方法概述 181
7.1.1 三维图形的基本问题 181
7.1.2 数据模型 181
7.1.3 过程模型 182
7.2 多边形表面 182
7.2.1 多边形表面概述 182
7.2.2 多边形表面表示法 182
7.3 二次曲面 183
7.3.1 球面 183
7.3.2 椭球面 184
7.3.3 环面 184
7.3.4 超二次曲面 184
7.4 样条曲线概述 185
7.4.1 样条的基本概念 185
7.4.2 样条曲线的分类 185
7.5 Hermite样条曲线 187
7.6 Bézier曲线和曲面 189
7.6.1 Bézier曲线的定义 189
7.6.2 Bernstein基函数的性质 190
7.6.3 常见的Bézier曲线 191
7.6.4 Bézier曲线的性质 192
7.6.5 Bézier曲线的绘制 193
7.6.6 Bézier曲面 197
7.7 B样条曲线和曲面 198
7.7.1 B样条曲线的定义 198
7.7.2 常见的B样条曲线 199
7.7.3 B样条曲线的性质 201
7.7.4 B样条曲线的分类 201
7.7.5 B样条曲面 202
7.8 空间分区表示方法 202
7.8.1 立体构造 202
7.8.2 八叉树 203
7.8.3 BSP树 204
7.9 非规则对象表示方法 204
7.9.1 分形几何方法 205
7.9.2 粒子系统 206
7.9.3 基于物理的建模 207
7.9.4 数据集可视化 207
习题 207
第8章 消隐计算209
8.1 消隐概述 209
8.1.1 消隐的定义 209
8.1.2 消隐的分类 209
8.1.3 消隐算法的原则 210
8.2 Z缓冲区算法 211
8.3 区域扫描线算法 213
8.4 深度排序算法 215
8.5 光线跟踪算法 217
8.6 BSP算法 217
习题 218
第9章 颜色模型219
9.1 光的特性 219
9.1.1 电磁频谱 219
9.1.2 颜色的心理学特征 219
9.2 颜色模型 220
9.3 标准基色和色度图 221
9.4 RGB颜色模型 223
9.5 CMY颜色模型 223
9.6 HSV颜色模型 224
习题 225
第10章 真实感图形绘制226
10.1 简单光照模型 226
10.1.1 环境反射光 227
10.1.2 漫反射光 227
10.1.3 镜面反射光 228
10.1.4 光强衰减 229
10.1.5 颜色处理 230
10.2 明暗处理 231
10.2.1 恒定光强的明暗处理 231
10.2.2 Gouraud明暗处理 232
10.2.3 Phong明暗处理 233
10.3 阴影处理 234
10.3.1 自身阴影生成 235
10.3.2 投射阴影生成 235
10.4 透明处理 236
10.4.1 透明效果的简单模拟 236
10.4.2 考虑折射的透明处理 237
10.5 整体光照模型与光线跟踪 238
10.5.1 整体光照模型概述 238
10.5.2 Whitted光照模型 238
10.5.3 光线跟踪算法 239
10.6 纹理映射 240
10.6.1 颜色纹理处理 241
10.6.2 几何纹理处理 242
习题 243
参考文献244