第1章 导论 1
1.1计算机图形学的应用领域 1
1.1.1计算机游戏 1
1.1.2计算机辅助设计 1
1.1.3计算机艺术 2
1.1.4虚拟现实 4
1.1.5计算机辅助教学 5
1.2计算机图形学的概念 5
1.3计算机图形学的相关学科 6
1.4计算机图形学的确立与发展 6
1.5图形显示器的发展及其工作原理 8
1.5.1阴极射线管 8
1.5.2随机扫描显示器 9
1.5.3直视存储管显示器 9
1.5.4光栅扫描显示器 10
1.5.5液晶显示器 15
1.5.6三维图形显示原理及立体显示器 16
1.6图形软件标准 18
1.7计算机图形学研究的热点技术 19
1.7.1层次细节技术 19
1.7.2图像绘制技术 20
1.8本章小结 21
习题1 21
第2章MFC绘图基础 25
2.1面向对象程序设计基础 25
2.1.1类和对象 25
2.1.2构造函数与析构函数 26
2.1.3对象的动态建立与释放 32
2.1.4继承与派生 37
2.2 MFC上机操作步骤 40
2.3 MFC基本绘图函数 43
2.3.1 CDC类结构与GDI对象 43
2.3.2映射模式 48
2.3.3使用GDI对象 51
2.3.4 CDC类绘图成员函数 56
2.3.5双缓冲机制 79
2.3.6设备上下文的调用与释放 80
2.3.7 MFC绘图的几种方法 81
2.4本章小结 84
习题2 84
第3章 基本图形的扫描转换 88
3.1直线的扫描转换 88
3.1.1算法原理 89
3.1.2构造中点误差项 90
3.1.3递推公式 90
3.1.4绘制任意斜率的直线 91
3.2圆的扫描转换 95
3.2.1算法原理 95
3.2.2构造中点误差项 97
3.2.3递推公式 97
3.3椭圆的扫描转换 98
3.3.1算法原理 98
3.3.2构造上半部分Ⅰ的中点误差项 99
3.3.3上半部分Ⅰ的递推公式 100
3.3.4构造下半部分Ⅱ的中点误差项 100
3.3.5下半部分Ⅱ的递推公式 101
3.4反走样技术 102
3.5 W u反走样算法 104
3.5.1算法原理 104
3.5.2构造距离误差项 105
3.5.3计算机化 106
3.5.4彩色直线段的反走样 106
3.6本章小结 106
习题3 107
第4章 多边形填充 110
4.1多边形的扫描转换 110
4.1.1多边形的定义 111
4.1.2多边形的表示 112
4.1.3多边形着色模式 112
4.1.4填充多边形 113
4.1.5填充区域 114
4.2有效边表填充算法 114
4.2.1填充原理 114
4.2.2边界像素的处理原则 115
4.2.3有效边与有效边表 117
4.2.4桶表与边表 120
4.3边缘填充算法 121
4.3.1填充原理 121
4.3.2填充过程 121
4.4区域填充算法 122
4.4.1填充原理 122
4.4.2四邻接点与八邻接点 123
4.4.3四连通域与八连通域 123
4.4.4种子填充算法 124
4.4.5扫描线种子填充算法 125
4.5本章小结 126
习题4 126
第5章 二维变换与裁剪 130
5.1图形几何变换基础 130
5.1.1规范化齐次坐标 131
5.1.2矩阵相乘 131
5.1.3二维几何变换矩阵 131
5.1.4物体变换与坐标变换 132
5.1.5二维几何变换形式 132
5.2二维图形基本几何变换矩阵 132
5.2.1平移变换矩阵 133
5.2.2比例变换矩阵 133
5.2.3旋转变换矩阵 134
5.2.4反射变换矩阵 134
5.2.5错切变换矩阵 135
5.3二维复合变换 137
5.3.1复合变换原理 137
5.3.2相对于任意参考点的二维几何变换 137
5.3.3相对于任意方向的二维几何变换 138
5.4二维图形裁剪 140
5.4.1图形学中常用的坐标系 140
5.4.2窗口与视区 143
5.4.3窗视变换矩阵 143
5.5 Cohen-Sutherland直线段裁剪算法 145
5.5.1编码原理 145
5.5.2裁剪步骤 146
5.5.3交点计算公式 147
5.6中点分割直线段裁剪算法 148
5.6.1中点分割算法原理 148
5.6.2中点计算公式 148
5.7 Liang-Barsky直线段裁剪算法 149
5.7.1 Liang-Barsky裁剪算法原理 149
5.7.2算法分析 150
5.7.3算法的几何意义 150
5.8多边形裁剪算法 152
5.9本章小结 154
习题5 154
第6章 三维变换与投影 157
6.1三维图形几何变换 157
6.1.1三维几何变换矩阵 157
6.1.2三维几何变换形式 157
6.2三维基本几何变换矩阵 158
6.2.1平移变换 158
6.2.2比例变换 158
6.2.3旋转变换 159
6.2.4反射变换 160
6.2.5错切变换 161
6.3三维复合变换 162
6.3.1相对于任意参考点的三维几何变换 162
6.3.2相对于任意方向的三维几何变换 162
6.4坐标系变换 164
6.4.1二维坐标系变换 165
6.4.2三维坐标系变换 165
6.5平行投影 167
6.5.1正交投影矩阵 167
6.5.2三视图 168
6.5.3斜投影 171
6.6透视投影 173
6.6.1透视变换坐标系 173
6.6.2世界坐标系到观察坐标系的变换 174
6.6.3观察坐标系到屏幕坐标系的变换 178
6.6.4透视投影分类 180
6.5.5屏幕坐标系的透视深度坐标 183
6.7本章小结 185
习题6 186
第7章 自由曲线与曲面 189
7.1基本概念 189
7.1.1曲线与曲面的表示形式 189
7.1.2插值与逼近 190
7.1.3连续性条件 190
7.2 Bezier曲线 191
7.2.1 Bezier曲线的定义 192
7.2.2 Bernstein基函数的性质 194
7.2.3 Bezier曲线的性质 194
7.2.4 de Casteljau递推算法 197
7.2.5 Bezier曲线的拼接 198
7.3 Bezier曲面 200
7.3.1 Bezier曲面的定义 200
7.3.2双三次Bezier曲面的定义 201
7.3.3双三次Bezier曲面的拼接 202
7.4 B样条曲线 203
7.4.1 B样条曲线的定义 204
7.4.2二次B样条曲线 204
7.4.3三次B样条曲线 205
7.4.4 B样条曲线的性质 207
7.4.5构造特殊的三次B样条曲线的技巧 209
7.5 B样条曲面 210
7.5.1 B样条曲面的定义 210
7.5.2双三次B样条曲面的定义 211
7.5.3双三次B样条曲面的连续性 212
7.6本章小结 214
习题7 214
第8章 分形几何 218
8.1分形与分维 218
8.1.1分形的诞生 218
8.1.2分形的基本特征 219
8.1.3分形的定义 220
8.1.4分形维数的定义 221
8.2递归模型 222
8.2.1 Cantor集 223
8.2.2 Koch曲线 223
8.2.3 Peano-Hilbert曲线 225
8.2.4 Sierpinski垫片与地毯 228
8.2.5 Menger海绵 230
8.2.6 C字曲线 233
8.2.7 Cayley树 234
8.3 L系统模型 235
8.3.1 L系统文法构图法 235
8.3.2 Koch曲线 236
8.3.3分形草 237
8.3.4 Peano-Hilbert曲线 238
8.3.5分形灌木丛 238
8.4 IFS迭代函数系统模型 240
8.4.1仿射变换 240
8.4.2 IFS 242
8.4.3 Koch曲线 244
8.4.4 Sierpinski垫片 246
8.4.5 Barnsley蕨 248
8.4.6拼贴与IFS码的确定 248
8.5本章小结 250
习题8 250
第9章 建模与消隐 256
9.1三维物体的数据结构 256
9.1.1物体的几何信息与拓扑信息 256
9.1.2三表结构 257
9.1.3物体的描述模型 258
9.1.4双表结构 259
9.1.5常用物体的几何模型 261
9.2消隐算法分类 274
9.3隐线算法 274
9.3.1凸多面体消隐算法 274
9.3.2曲面体消隐算法 277
9.4隐面算法 278
9.4.1深度缓冲器算法 278
9.4.2深度排序算法 282
9.5本章小结 283
习题9 284
第10章 真实感图形 289
10.1颜色模型 289
10.1.1原色系统 290
10.1.2 RGB颜色模型 291
10.1.3 HSV颜色模型 292
10.1.4 CMYK颜色模型 293
10.2简单光照模型 294
10.2.1材质模型 295
10.2.2环境光模型 296
10.2.3漫反射光模型 296
10.2.4镜面反射光模型 297
10.2.5光强衰减 299
10.2.6增加颜色 299
10.3光滑着色 302
10.3.1直线的光滑着色 302
10.3.2 Gouraud明暗处理 303
10.3.3 Phong明暗处理 306
10.4简单透明模型 307
10.5阴影模型 309
10.6纹理映射 310
10.6.1颜色纹理 311
10.6.2三维纹理 320
10.6.3几何纹理 321
10.6.4简单纹理反走样 324
10.7本章小结 326
习题10 326
附录A配套实践教程的案例设置及与本书的对应关系 332
参考文献 335