目录 1
第1章 绪论 1
1.1 计算机图形学的发展及应用 1
1.2 计算机图形学在CAD/CAM中的应用 3
1.2.1 CAD/CAM系统的发展与构成 3
1.2.2 计算机图形学在CAD/CAM系统用户界面的应用 4
1.2.3 真实感图形显示技术在CAD/CAM系统中的应用 5
1.2.4 计算机图形学在数控加工仿真的应用 5
1.3 数据可视化技术 6
1.3.1 引言 6
1.3.2 体视化技术的特点及其发展过程 6
1.3.3 体视化技术的应用 7
1.3.4 信息可视化技术的发展 10
1.3.5 可视化技术在国内的发展 12
1.4 数字图像处理技术的发展和应用 12
习题1 13
第2章 图形系统综述 14
2.1 视频显示设备 14
2.1.1 刷新式CRT 14
2.1.2 光栅扫描显示器 15
2.1.3 随机扫描显示器 16
2.1.4 彩色CRT显示器 16
2.1.5 平板显示器 17
2.2 光栅扫描系统 18
2.3 随机扫描系统 20
2.4 图形监视器与工作站 20
2.5 输入设备 21
2.5.1 键盘 21
2.5.2 鼠标 21
2.5.3 光笔 21
2.5.4 触摸屏 22
2.5.5 数字化仪 23
2.5.6 图像扫描仪 24
2.5.7 数据手套 25
2.5.8 声音系统 25
2.6 硬拷贝设备 26
习题2 28
第3章 基本图形生成算法 29
3.1 扫描转换算法 29
3.2 直线的扫描转换 30
3.2.1 逐点比较法 30
3.2.2 中点画线算法 30
3.2.3 DDA算法 33
3.2.4 Bresenham画线算法 34
3.2.5 并行画线算法 35
3.3 圆的扫描转换算法 37
3.3.1 圆的特性 37
3.3.2 DDA画圆算法 38
3.3.3 正负法画圆弧 39
3.3.4 中点画圆算法 40
3.3.5 Bresenham画圆算法 43
3.4 椭圆弧生成算法 46
3.4.1 椭圆的DDA生成算法 46
3.4.2 椭圆的中点生成算法 48
3.5 并行曲线算法 50
3.6 区域填充 50
3.6.1 多边形域的填充 51
3.6.2 区域填充图案 54
3.7 线宽与线型的处理 57
3.7.1 直线线宽的处理 57
3.7.2 圆弧线宽的处理 58
习题3 59
第4章 两维观察 61
4.1 观察流程 61
4.2 观察参考坐标系 62
4.3 窗口到视区的坐标变换 63
4.4 裁剪操作 65
4.5 点的裁剪 65
4.6 线段的裁剪 66
4.6.1 Cohen-Sutherland线段裁剪算法 66
4.6.2 梁友栋-Barsky直线裁剪算法 70
4.6.3 Nicholl-Lee-Nicholl直线裁剪算法 72
4.6.4 非矩形裁剪窗口的线段裁剪 74
4.7 多边形的裁剪 75
4.7.1 Sutherland-Hodgeman 75
4.7.2 Welier-Atherton算法 80
4.8 曲线的裁剪 81
4.9 文字的裁剪 81
4.10 外部裁剪 82
习题4 83
5.1.2 矩阵运算 85
5.1.1 矢量运算 85
第5章 图形变换 85
*5.1 图形变换的数学基础 85
5.1.3 齐次坐标 88
5.2 二维图形的几何变换 89
5.2.1 基本几何变换 89
5.2.2 基本几何变换的矩阵形式 89
5.2.3 二维的矩阵表示和齐次坐标表示 93
5.2.4 复合变换 94
5.2.5 其他变换 103
5.3 三维几何和建模变换 107
5.3.1 平移 108
5.3.2 旋转 109
5.4 形体的投影变换 116
5.4.1 投影变换分类 116
5.4.2 平行投影 117
5.4.3 透视投影 119
习题5 122
第6章 三维物体的表示 124
6.1 多边形表面 124
6.1.1 多边形表 125
6.1.2 平面方程 126
6.1.3 多边形网格 128
*6.2 曲线和曲面 128
*6.3 二次曲面 128
6.3.1 球面 129
6.3.2 椭圆面 129
6.3.3 环面 130
6.4 样条表示 130
6.4.1 插值和逼近样条 130
6.4.2 参数连续性条件 131
6.5 三次样条插值方法 133
6.4.3 样条描述 133
6.5.1 自然三次样条 134
6.5.2 Hermite插值样条 134
6.5.3 Cardinal样条 136
6.5.4 Kochanek-Bartels样条 138
6.6 Bezier曲线和曲面 139
6.6.1 Bezier曲线 139
6.6.2 Bezier曲线的特性 140
6.6.3 使用Bezier曲线的设计技术 140
6.6.4 三次Bezier曲线 141
6.6.5 Bezier曲面 143
6.7 B-样条曲线和曲面 144
6.7.1 B-样条曲线 144
6.7.2 均匀周期性B-样条曲线 145
6.7.3 三次周期性B-样条曲线 147
*6.7.4 开放均匀B-样条曲线 149
6.7.6 B-样条曲面 151
*6.7.5 非均匀B-样条曲线 151
*6.8 扫描表示 152
*6.9 结构实体几何法 153
*6.10 八叉树 155
6.11 BSP树 157
6.12 分形几何方法 157
6.12.1 分形生成过程 158
6.12.2 分形分类 158
6.12.3 分形的维数 159
6.12.4 确定性自相似分形几何构造 160
6.12.5 统计自相似分形几何构造 162
6.12.6 仿射分形构造方法 164
6.12.7 随机中点位移方法 165
6.12.8 地面图控制 167
6.12.9 自平方分形 168
6.12.10 自逆分形 172
习题6 173
第7章 可见面判别算法 175
7.1 可见面判别算法的分类 175
7.2 后向面判别 175
7.3 深度缓冲器算法 176
7.4 A缓冲器算法 179
7.5 扫描线算法 180
7.6 深度排序算法 182
7.7 BSP树算法 184
7.8 区域细分算法 184
7.9 八叉树算法 186
7.10 光线投射算法 189
习题7 190
第8章 光照模型与面绘制算法 191
8.1 光源 191
8.2.2 漫反射 193
8.2.1 环境光 193
8.2 基本光照模型 193
8.2.3 镜面反射和phong模型 195
8.2.4 多光源漫反射和镜面反射的合并 198
8.2.5 Warn模型 198
8.2.6 强度衰减 199
8.2.7 颜色 199
8.2.8 透明度 201
8.2.9 阴影 203
*8.3 光强度显示 203
8.3.1 分配强度等级 203
8.3.2 Gamma校正与视频查找表 204
8.3.3 显示连续色调的图像 205
*8.4 半色调模式和抖动技术 206
8.4.1 半色调近似 207
8.4.2 抖动技术 209
8.5 多边形表面绘制算法 211
8.5.1 恒定光强度的明暗处理 212
8.5.2 Gouraud明暗处理………………………………………’ 212
8.5.3 Phong明暗处理 214
8.5.4 快速Phong明暗处理 214
8.6 光线跟踪算法 215
8.6.1 基本光线跟踪算法 216
8.6.2 光线与物体表面的求交计算 217
8.6.3 减少物体求交计算量 219
8.6.4 空间分割方法 220
8.6.5 光线跟踪反走样 223
8.6.6 分布式光线跟踪 224
8.7 辐射度光照模型 226
8.7.1 基本辐射度模型 226
8.7.2 逐步求精辐射度方法 229
8.8 环境映射 230
8.9.2 纹理映射 231
8.9.1 用多边形模拟表面细节 231
8.9 添加表面细节 231
8.9.3 过程式纹理映射方法 233
8.9.4 凹凸映射 234
8.9.5 帧映射 235
习题8 235
第9章 颜色模型和颜色应用 237
9.1 光的特性 237
9.2 标准基色和色彩图 239
9.2.1 XYZ颜色模型 239
9.2.2 CIE色度图 239
9.3 直观的颜色概念 241
9.4 RGB颜色模型 241
9.5 YIQ颜色模型 242
9.6 CMY颜色模型 243
9.7 HSV颜色模型 244
9.8 HSV和RGB模型之间的转换 245
9.9 HLS颜色模型 247
9.10 颜色选择及其应用 247
习题9 248
第10章 图像处理 249
10.1 图像数据 249
10.1.1 图像的表示 249
10.1.2 图像的采样 250
10.1.3 图像的灰度直方图 250
10.1.4 图像的二值化 253
10.2 图像变换 253
10.2.1 图像的除噪音处理 254
10.2.2 图像轮廓增强技术 254
10.3 图像解析 256
10.3.1 细线化技术 256
10.3.2 轮廓线追踪 257
10.4.1 概述 258
10.4 图像数据压缩 258
10.4.2 步长法 259
习题10 260
第11章 OpenGL图形应用程序开发简介 261
11.1 OpenGL概述 261
11.1.1 什么是OpenGL 261
11.1.2 OpenGL的工作顺序 261
11.2 OpenGL的基本语法规则 262
11.2.1 OpenGL的数据类型 262
11.2.2 OpenGL函数命名规则 262
11.2.3 OpenGL的状态机制 262
11.2.4 OpenGL的库函数 263
11.3 在OpenGL中使用颜色 264
11.3.1 OpenGL的颜色处理过程和颜色模式 264
11.3.2 指定颜色和明暗模式 264
11.4.1 绘图准备和结束 265
11.4 用OpenGL设计基本几何体 265
11.4.2 绘制OpenGL的基本几何元素(几何要素) 266
11.4.3 多边形的绘制属性 267
11.4.4 法矢量 267
11.5 OpenGL中的图形变换 268
11.5.1 常用的变换函数 270
11.5.2 视图模型变换 270
11.5.3 投影变换 272
11.5.4 视口变换 273
11.6 OpenGL中的光照处理 274
11.6.1 OpenGL光照基本概念 274
11.6.2 光源的定义 274
11.6.3 光照模式 276
11.6.4 材质属性 277
11.7 VC++6.0中OpenGL应用程序开发 278
11.7.1 Win32控制台方式 278
11.7.2 MFC方式 284
习题11 287