目录 1
第1章 计算机图形学介绍 1
1.1 计算机图形学的发展 1
1.2 计算机图形学的应用 2
1 2.1 计算机辅助设计与制造 2
1 2.2 科学计算可视化 3
1 2.3 真实感图形绘制 3
1 2.4 计算机动画 3
1.2.5 计算机辅助教学 4
1 2.6 计算机艺术 4
1.2.7 办公自动化和电子出版技术 5
1.2.8 医疗诊断 5
1.2.9 人机接口 5
1.2.10 虚拟现实 6
2.1.2 像素点的形状 7
2.1.1 点阵图形的大小 7
第2章 计算机图形的构成及其表示 7
2.1 点阵图形及其表示 7
2.1.3 像素点的颜色表示 8
2.1.4 像素点的位置 9
2.2 点阵图形及相应文件的构成 9
2.2.1 点阵图形的坐标系统 10
2.2.2 点阵图形的精度及相关问题 11
2.2.3 BMP图形文件的结构 11
2.3.2 向量图形的颜色 17
2.3 向量图形及其表示 17
2.3.1 向量图形的表示 17
2.3.3 向量图形DXF格式文件的构成 18
2.4 点阵图形和向量图形的特点 19
2.4.1 图形的整体放大 19
2.4.2 图形的缩小 20
2.4.3 图形的局部放大 21
2.4.4 点阵图形与向量图形及其相互间的转换 22
习题 24
3.1 基本图形的点阵转换 25
第3章 点阵图形的基本算法 25
3.2 直线点阵转换算法 26
3.2.1 描绘线条图形的要求 26
3.2.2 增量DDA算法 28
3.2.3 Bresenham直线算法 30
3.3 圆的点阵图形扫描转换算法 33
3.3.1 一般方法 33
3.3.2 Bresenham圆弧算法 35
3.4 椭圆点阵图形扫描转换算法 38
3.4.1 椭圆弧正负算法 38
3.4.2 椭圆弧中点算法 39
3.5 多项式曲线的算法 42
3.5.1 多项式函数的计算法 42
3.5.2 三次多项式函数的差分计算法 42
习题 44
4.1 区域的连通方式和分类 46
4.1.1 区域的连通方式 46
第4章 区域填充 46
4.1.2 区域的分类 47
4.2 区域逐点递归填充算法 47
4 2 1 注入填充区域算法 47
4.2.2 边界填充算法 48
4.3 区域扫描线递归填充算法 49
4.3.1 种子点扫描线填充算法 49
4.3.2 压入区段端点的扫描线填充算法 50
4.4.1 扫描线上像素点的连贯性 52
4.4 多边形区域填充算法 52
4.4.2 不同扫描线与边的交点在边上的连贯性 54
4.4.3 扫描线算法的处理步骤 56
4.5 图案填充 56
4.5.1 像素图案填充 57
4.5.2 位图图案填充 58
4.5.3 扫描转换后填充图案 59
4.6 有宽度和线型的线条 59
4.6.1 线条的宽度处理 59
4.6.2 线型的处理方法 63
习题 64
5.1 二维图形的基本变换 66
5.1.1 平移变换 66
第5章 图形变换 66
5.1.2 比例变换 68
5.1.3 旋转变换 69
5.2 齐次坐标与基本变换的矩阵表示 70
5.2.1 齐次坐标的概念 70
5.2.2 基本变换通过齐次坐标的矩阵表示 71
5.3.1 对称变换 73
5.3 其它常用的基本变换及其矩阵表示 73
5.3.2 错切变换 75
5.3.3 复合变换 76
5.3.4 基本变换的一些性质 78
5.3.5 坐标系变换 78
5.4 窗口间的视见变换 81
5.4.1 图形表示中的坐标系 81
5.4.2 视见变换及其表示 83
5.5.1 三维图形的基本变换 84
5.5 三维图形的变换 84
5.5.2 三维复合变换 87
5.5.3 坐标系变换 90
5.6 三维投影变换 94
5.6.1 三维投影变换的概念 94
5.6.2 平行投影 95
5.6.3 透视投影 100
5.6.4 观察坐标系与观察变换 103
5.7.2 三维基本变换的一些性质 105
5.7.1 三维变换矩阵的参数含义 105
5.7 三维变换矩阵性质 105
5.8 三维观察窗口及可视变换 106
5.8.1 三维观察空间概念 106
5.8.2 规范化的观察体及其坐标系 107
5.8.3 观察体的规范化变换 108
5.8.4 三维观察流程 110
习题 111
6.1 1 点的裁剪 113
第6章 图形裁剪 113
6.1 二维裁剪概念 113
6.1.2 直线段的裁剪 114
6.2 直线段的裁剪算法 115
6.2.1 Cohen-Sutherland 115
6.2.2 中点分割算法 117
6.2.3 梁友栋-Barsky算法 118
6.2.4 Nicholl-Lee-Nicholl算法 120
6.3 凸多边形内直线段的裁剪算法 122
6.3.1 Cyrus-Beck算法思路 123
6.3.2 Cyrus-Beck算法的交点求解 123
6.4 多边形逐边裁剪法 125
6.5 多边形窗口的双边裁剪法 128
6 6 文本裁剪 130
6.6.1 文本的字符串裁剪法 131
6.6.2 文本的字符裁剪法 131
6.7 三维裁剪 132
6.7.1 平行投影三维线段的编码裁剪 132
6.6.3 文本的笔划裁剪法 132
6.7.2 透视投影三维线段的编码裁剪 133
习题 134
第7章 图形交互技术和用户界面设计 136
7.1 逻辑输入设备 136
7.1.1 定位设备 137
7.1.2 笔划设备 137
7.1.5 选择设备 138
7.1.4 定值设备 138
7.1.3 字符串设备 138
7.1.6 拾取设备 139
7.2 逻辑设备输入模式 139
7.2.1 请求模式 139
7.2.2 取样模式 140
7.2.3 事件模式 140
7.2.4 各种模式的并行使用及初始化 141
7.3 交互式图形设计方法 141
7.3.1 基本图形拾取方法 141
7.3.2 基本的定位、取值方法 144
7.3.3 选择任务技术 147
7.3.4 交互式构图技术 150
7.4 交互设计技术图形用户界面 152
7.4.1 交互式图形用户界面的设计方法 153
7.4.2 交互式图形用户界面的整体构成 156
习题 157
8.1 与曲线、曲面有关的基本概念 158
8.1.1 曲线、曲面的表示方法 158
第8章 计算机图形中曲线的设计理论 158
8.1.2 插值与逼近 161
8.1.3 曲线、曲面描述方法的发展 162
8.2 折线段曲线 163
8.3 参数三次曲线 165
8.3.1 参数三次曲线的表示 165
8.3.2 参数三次曲线的其它表示形式 167
8.3.3 参数三次曲线参数值域的变换 169
8.3.4 二阶连续的参数三次样条插值曲线 169
8.4.1 参数三次曲线的几何形状 173
8.4 参数曲线的几何性质 173
8.4.2 参数连续性与几何连续性 174
8.5 Bezier曲线 176
8.5.1 Bezier曲线的de Casteljau定义 176
8.5.2 Bezier曲线的性质 178
8.5.3 三次Bézier曲线 181
8.6 B-样条曲线 184
8.6.1 B-样条曲线的定义 184
8.6.2 B-样条曲线的性质 187
8.6.3 常用的B-样条曲线的类型 190
8.6.4 均匀B-样条曲线 192
8.6.5 三次均匀B-样条曲线 193
8.6.6 准均匀B-样条曲线 195
8.6.7 一般的B-样条曲线 197
8.6.8 插值三次B-样条曲线 198
8.7 非均匀有理B-样条曲线 200
8.7.1 非均匀有理B-样条曲线 201
8.7.3 二次有理Bezier曲线与二次曲线 202
8.7.2 有理Bézier曲线 202
8.7.4 整圆及椭圆的NURBS表示 203
习题 205
第9章 计算机图形中曲面的设计理论 207
9.1 插值边界线的孔斯曲面 207
9.1.1 双线性孔斯曲面 207
9.1.2 双三次孔斯曲面 209
9.2 双线性与双三次参数曲面 214
9.2.1 双线性参数曲面定义及其表示 214
9.2.2 双三次参数曲面定义及其表示 214
9.2.3 双三次参数曲面的其它形式 216
9.2.4 常用曲面的参数形式 218
9.3 Bezier曲面 221
9.3.1 Bezier曲面片的定义 221
9.3.2 Bezier曲面片的性质 222
9.3.3 双三次Bezier曲面 222
9.4.1 B-样条曲面片的定义 223
9.4 B-样条曲面 223
9.4.2 双三次均匀B-样条曲面片公式 224
9.4.3 B-样条曲面片的优点 225
9.5 非均匀有理B-样条曲面 225
9.5.1 NURBS曲面的定义 225
9.5.2 NURBS曲面表示的旋转面 227
9.6 三角域上的Bezier曲面 228
9.6.1 三角域内的重心坐标 228
9.6.2 三角域上的Beinstein函数 230
9.6.3 三角域上的Bézier曲面 231
9.6.4 三角域上的Bézier曲面的方向导向量 232
9.6.5 三角域上的Bézier曲面的性质 233
习题 235
第10章 计算机图形学的几何造型技术 237
10.1 三维欧氏几何实体造型方法 237
10.1.1 基本三维欧氏几何实体描述 237
10.1.2 由三维欧氏几何实体表示的数据结构 238
10.1.3 三维欧氏几何实体的体表示法 239
10.1.4 三维欧氏几何实体的面表示法 241
10.1.5 三维欧氏几何实体的线表示法 243
10.1.6 三维欧氏几何实体的点表示法 245
10.2 分形几何方法 246
10.2.1 分形生成过程及其特点 247
10.2.2 离散及随机分形图的生成 249
10.2.3 复数变换函数生成的Mandbrot集和Julia集分形图 250
10.2.4 分形图形方法的应用 251
习题 255
11.1 单个凸多面体的消隐 256
第11章 计算机图形中的消隐处理 256
11.2 凹多面体的消隐 258
11.3 线框算法 260
11.4 曲面的消隐 262
11.4.1 函数曲面的消隐方法 262
11.4.2 参数曲面的消隐方法 264
11 5 z缓冲器算法 265
11 6 画家算法 266
11 7 区域细分算法 268
习题 271
第12章 计算机图形中真实感图形设计 272
12.1 光与颜色的基本知识 272
12.1.1 光的明亮程度 273
12.1.2 光的颜色及三基色模型 273
12.1.3 常见的其它颜色模型 276
12.2 光的传播规律 280
12.2.1 光的来源 280
12.2.2 光传播的计算模型 282
12.2.3 各类光传播的计算 283
12.3 一个简单的光照模型 285
12.4 明暗处理 286
12.4.1 Gouraud的光强度插值法 287
12.4.2 Phong的法向插值法 288
12.5 光线追踪法 289
12.5.1 整体光照模型 289
12.5.2 光线追踪算法原理 290
12.5.3 提高光线追踪算法的效率 291
12.5.4 光线跟踪的反走样 292
12.6 阴影处理 294
12.7 纹理映射 295
12.7.1 图案型纹理映射 296
12 7.2 凹凸不平型纹理映射 297
习题 298
第13章 计算机图形动画设计 299
13.1 动画原理及制作技术 299
13.1.1 动画原理 299
13.1.2 动画的制作 300
13.2 计算机动画技术及应用 302
13.2.1 计算机动画的概念 302
13.2.2 计算机动画技术的分类 303
13.2.3 人工动画与计算机动画的比较 304
13.3 计算机动画的实现方式 304
13.3.1 帧动画 304
13.3.3 实时动画 305
13.3.2 位图传输动画 305
13.3.4 三种实现方式的比较 306
13.4 画面的动态设计与生成 307
13.4.1 运动路径控制法 307
13.4.2 关节动画法 308
13.4.3 变形动画法 309
13.4.4 物体物理机制动画法 310
13.5 提高动画质量的几种常用方法 310
13.5.1 图形点阵的逻辑运算 310
13.5.4 减少图形闪烁 311
13.5.2 减少生成图形的计算量 311
13.5.3 图形页面操作 311
13.6 计算机辅助卡通动画片的制作 312
13.6.1 画面输入 312
13.6.2 动画质量的快速检查 313
13.6.3 生产管理 313
13.6.4 中间画面的生成 313
习题 314
参考文献 316