第1章 图形学概述 1
1.1 计算机图形学发展背景 1
1.1.1 计算机图形学相关概念 1
1.1.2 计算机图形学的发展 3
1.1.3 计算机图形学主要研究内容 5
1.2 计算机图形学应用 5
1.2.1 计算机动画 6
1.2.2 计算机辅助设计与制造 8
1.2.3 虚拟现实与计算机仿真 12
1.2.4 科学计算可视化 15
1.3 计算机图形系统构成 18
1.3.1 图形系统功能及组成 19
1.3.2 图形系统的硬件组成 20
1.3.3 图形软件系统 35
1.4 颜色模型 37
1.4.1 物体的颜色 38
1.4.2 颜色空间与色度图 39
1.4.3 常用颜色模型 41
1.5 本章小结 45
实践与探究 45
第2章 本书案例项目简介 46
2.1 工程项目引入 46
2.2 VC绘图基础 47
2.2.1 VC环境介绍 48
2.2.2 MFC应用程序框架结构 53
2.2.3 VC绘图入门 55
2.3 基于VC的CGIS集成系统 62
2.3.1 CGIS系统框架设计 63
2.3.2 集成系统实现 69
2.4 OpenGL编程基础 77
2.4.1 OpenGL介绍 77
2.4.2 OpenGL绘图入门 79
2.5 基于OpenGL的真实感图形渲染 85
2.5.1 VC环境下OpenGL编程 85
2.5.2 真实感图形渲染 97
2.6 本章小结 98
实践与探究 98
第3章 基本图形的生成与显示 100
3.1 直线的生成 101
3.1.1 数值微分法 101
3.1.2 中点画线法 102
3.1.3 Bresenham画线法 105
3.2 圆与椭圆的生成 108
3.2.1 简单画圆法 108
3.2.2 中点画圆法 108
3.2.3 Bresenham画圆法 110
3.2.4 中点画椭圆法 110
3.3 字符的生成 112
3.3.1 点阵字符 112
3.3.2 矢量字符 114
3.4 反走样技术 115
3.4.1 走样现象 115
3.4.2 反走样技术 115
3.5 平面图形填充 117
3.5.1 区域的表示及类型 117
3.5.2 有效边表填充法 118
3.5.3 边填充法 122
3.5.4 种子填充法 124
3.6 基本图形生成的系统实现 128
3.6.1 直线生成算法的实现 128
3.6.2 椭圆生成算法的实现 134
3.6.3 多边形有效边表填充算法的实现 139
3.7 本章小结 148
实践与探究 148
第4章 二维图形变换及裁剪 150
4.1 图形变换基础 150
4.1.1 与图形相关的坐标系 151
4.1.2 齐次坐标 152
4.1.3 窗口到视区的转换 153
4.1.4 矩阵的乘法运算 155
4.1.5 二维几何变换矩阵 156
4.1.6 二维图形几何变换的计算 157
4.2 二维基本几何变换 157
4.2.1 恒等变换 158
4.2.2 平移变换 158
4.2.3 比例变换 158
4.2.4 旋转变换 159
4.2.5 对称变换 160
4.2.6 错切变换 161
4.3 二维复合变换 162
4.4 二维图形裁剪 165
4.4.1 点的裁剪 166
4.4.2 线段裁剪 166
4.4.3 多边形裁剪 171
4.4.4 字符裁剪 174
4.5 二维变换及裁剪的系统实现 175
4.5.1 二维图形变换的实现 175
4.5.2 二维图形裁剪的实现 181
4.6 本章小结 190
实践与探究 190
第5章 三维图形变换 192
5.1 三维图形变换概述 193
5.1.1 三维几何变换 193
5.1.2 三维几何变换矩阵 194
5.2 三维基本几何变换 194
5.2.1 平移变换 194
5.2.2 比例变换 195
5.2.3 旋转变换 195
5.2.4 对称变换 196
5.2.5 错切变换 198
5.3 三维复合变换 198
5.3.1 相对于任意点的三维变换 199
5.3.2 绕空间任意轴的三维变换 200
5.4 投影变换 202
5.4.1 投影变换概述 202
5.4.2 正投影 203
5.4.3 轴测投影 205
5.5 透视投影 208
5.5.1 透视投影概述 208
5.5.2 用户坐标系到观察坐标系的变换 208
5.5.3 观察坐标系到屏幕坐标系的变换 210
5.5.4 透视变换 211
5.6 三维变换的系统实现 213
5.6.1 平行投影的实现 213
5.6.2 透视投影的实现 220
5.7 本章小结 223
实践与探究 223
第6章 曲线曲面 225
6.1 曲线曲面概述 225
6.1.1 样条曲线曲面 225
6.1.2 样条曲线曲面的发展 226
6.1.3 曲线曲面的生成 227
6.1.4 曲线曲面的表示 229
6.1.5 曲线的连续性条件 230
6.2 三次Hermite样条曲线 232
6.3 Bézier曲线曲面 234
6.3.1 Bézier曲线的定义 234
6.3.2 Bézier曲线的性质 234
6.3.3 常用Bézier曲线的表示 236
6.3.4 Bézier曲线的拼接 237
6.3.5 Bézier曲线的正算与反求 238
6.3.6 Bézier曲面 239
6.4 B样条曲线曲面 240
6.4.1 B样条曲线的定义 240
6.4.2 B样条曲线的性质 241
6.4.3 B样条曲线分类 242
6.4.4 NURBS曲线 243
6.4.5 B样条曲面 244
6.5 样条曲线的系统实现 246
6.5.1 Bézier曲线的实现 246
6.5.2 B样条曲线的实现 251
6.6 本章小结 254
实践与探究 254
第7章 消隐 256
7.1 消隐的基本概念 256
7.1.1 什么是消隐 256
7.1.2 消隐的分类 257
7.2 线消隐 257
7.3 面消隐 258
7.3.1 深度缓冲区(Z-buffer)算法 259
7.3.2 深度排序算法(画家算法) 261
7.3.3 扫描线算法 262
7.3.4 区域细分算法(Warnock算法) 263
7.3.5 其他常用算法 264
7.4 基于OpenGL的隐藏面消隐 265
7.4.1 系统构架 265
7.4.2 算法分析与设计 266
7.4.3 系统实现 267
7.5 本章小结 270
实践与探究 270
第8章 真实感图形显示 271
8.1 三维形体的表示 272
8.1.1 三维模型基础 272
8.1.2 传统几何造型方法 273
8.1.3 非传统造型技术 276
8.2 光照模型 278
8.2.1 光源特性与物体表面特性 278
8.2.2 光照模型简介 279
8.2.3 阴影生成 282
8.2.4 光线跟踪算法简介 282
8.3 物体的纹理显示 283
8.3.1 表面图案的描绘 283
8.3.2 凹凸纹理的描绘 284
8.4 基于OpenGL的纹理贴图 284
8.4.1 系统构架 284
8.4.2 算法分析与设计 284
8.4.3 系统实现 290
8.5 本章小结 301
实践与探究 301
后记 304
参考文献 307