第1章 计算机图形学基础 1
1.1 计算机图形学的研究内容 1
1.2 计算机图形学与图像处理 2
1.3 计算机图形学的发展 3
1.4 计算机图形学的应用领域 4
习题 6
第2章 图形与图像技术基础 8
2.1 图形系统 8
2.1.1 图形系统的基本功能 8
2.1.2 图形系统的组成 9
2.2 计算机图形系统的基本术语 9
2.2.1 图形与图像 10
2.2.2 矢量图与点阵图 11
2.2.3 图像的分类 12
2.2.4 分辨率 12
2.2.5 图像的存储格式 14
2.3 图形用户界面 15
2.3.1 图形用户界面设计的相关理论 15
2.3.2 图形用户界面的特征 17
2.3.3 图形用户界面的设计技术 18
习题 22
第3章 交互式Visual C++图形基础编程 23
3.1 Visual C++软件设计方法 23
3.1.1 开发环境和开发工具概述 23
3.1.2 实用AppWizard生成一个图形应用重要程序的框架 25
3.1.3 实用资源编辑器生成图形用户界面 27
3.1.4 利用消息映射和消息处理交互式绘图 29
3.2 图形编程基础 32
3.2.1 图形设备接口 33
3.2.2 设备环境 33
3.2.3 设备环境类 33
3.2.4 GDI对象 37
3.2.5 DC与GDI设备之间的关系 38
3.3 在视图内绘图 38
3.3.1 OnDraw成员函数 38
3.3.2 Windows设备环境 38
3.3.3 常见绘图 39
3.4 映射模式 41
3.4.1 Windows映射模式简介 41
3.4.2 如何设量映射模式 42
3.5 OpenGL图形标准 42
3.5.1 OpenGL简介 42
3.5.2 OpenGL的主要特点和功能 43
3.5.3 OpenGL开发库的基本组成 44
3.5.4 在Visual C++中使用OpenGL库函数的方法 44
习题 45
第4章 计算机基本图形生成 46
4.1 直线段的生成 46
4.1.1 数值微分法 46
4.1.2 中点Bresenham算法 48
4.1.3 改进的中点Bresenham算法 50
4.2 圆与椭圆的生成 51
4.2.1 圆的特点 51
4.2.2 中点Bresenham画圆法 52
4.2.3 椭圆的特点 54
4.2.4 中点Bresenham椭圆绘制法 55
4.3 区域填充 59
4.3.1 多边形区域填充 59
4.3.2 边填充 62
4.3.3 种子填充 65
4.4 二维图像裁剪 66
4.4.1 窗口区与视图区 66
4.4.2 直线段裁剪 67
4.4.3 多边形裁剪 74
4.4.4 其他裁剪 78
4.5 线宽与线型的处理 79
4.5.1 直线线宽的处理 79
4.5.2 线型的处理 81
习题 81
第5章 图形变换 83
5.1 基本概念 83
5.1.1 几何变换 83
5.1.2 齐次坐标 83
5.1.3 二维变换矩阵 84
5.1.4 三维变换矩阵 84
5.2 二维基本几何变换 85
5.2.1 平移变换 85
5.2.2 比例变换 86
5.2.3 旋转变换 87
5.2.4 对称变换 88
5.2.5 错切变换 89
5.2.6 二维图形几何变换的计算 90
5.3 复合变换 91
5.3.1 二维复合平移变换 91
5.3.2 二维复合比例变换 91
5.3.3 二维复合旋转变换 92
5.3.4 其他二维复合变换 92
5.3.5 相对任意参考点的二维几何变换 92
5.3.6 相对任意方向的二维几何变换 93
5.4 三维几何变换 94
5.4.1 三维基本几何变换 94
5.4.2 三维复合几何变换 97
5.5 三维平行投影变换 100
5.5.1 正平行投影 101
5.5.2 斜平行投影 105
5.6 三维透视投影变换 106
5.6.1 一点透视 106
5.6.2 二点透视 107
5.6.3 三点透视 108
习题 108
第6章 曲线和曲面 110
6.1 参数表示曲线和曲面的基础知识 110
6.1.1 曲线和曲面的表示方法 110
6.1.2 位置矢量、切矢量、法矢量 111
6.1.3 样条表示 112
6.2 Hermite曲线 114
6.2.1 n次参数多项式曲线 114
6.2.2 三次Hermite曲线的定义 115
6.2.3 三次Hermite曲线的矩阵表示 116
6.2.4 三次Hermite曲线的生成 117
6.3 Bezier曲线 120
6.3.1 Bezier曲线的定义 120
6.3.2 Bezier曲线的性质 122
6.3.3 Bezier曲线的生成 124
6.4 B样条曲线 127
6.4.1 B样条曲线的定义 127
6.4.2 B样条曲线的表示及性质 128
6.4.3 B样条曲线的生成 132
6.5 Bezier曲面 135
6.5.1 Bezier曲面的定义及性质 135
6.5.2 Bezier曲面的生成 136
6.6 B样条曲面 138
6.7 有理样条曲线 139
6.7.1 有理Bezier曲线 140
6.7.2 有理B样条曲线 141
6.7.3 非均匀有理B样条(NURBS)曲线 143
6.7.4 NURBS曲线的生成 144
6.7.5 NURBS曲面的生成 146
习题 150
第7章 真实感图形技术 151
7.1 概述 151
7.1.1 真实感图形生成流程 151
7.1.2 真实感图形特点 152
7.2 消隐技术 153
7.2.1 消隐的定义和分类 153
7.2.2 Z缓冲区算法 154
7.2.3 画家算法 157
7.2.4 隐藏面消隐算法实例 161
7.3 颜色模型 164
7.3.1 物体的颜色 165
7.3.2 颜色空间 166
7.3.3 常用颜色模型 166
7.3.4 OpenGL中的颜色模型 167
7.3.5 颜色模型算法实例 169
7.4 简单的光照模型 171
7.4.1 基本的光学原理 171
7.4.2 环境光 172
7.4.3 漫反射光 172
7.4.4 镜面反射光 173
7.4.5 Phong光照模型 175
7.4.6 光照模型实例 175
7.5 光线跟踪 178
7.5.1 基本的光线跟踪算法 178
7.5.2 光线与物体的求交 180
7.5.3 光线跟踪算法的加速 183
7.6 纹理图案映射 185
7.6.1 纹理的定义 185
7.6.2 二维纹理映射 186
7.6.3 三维纹理映射 187
7.6.4 几何纹理 187
7.7 OpenGL真实感图形 188
7.7.1 OpenGL光照函数 188
7.7.2 物体表面特性函数 192
7.7.3 OpenGL纹理映射 193
7.7.4 纹理映射实例 196
习题 199
第8章 动画技术 200
8.1 计算机动画技术的起源、发展与应用 200
8.1.1 计算机动画技术的起源与发展 200
8.1.2 计算机动画技术的应用 201
8.1.3 计算机动画技术的未来 202
8.2 传统动画 202
8.2.1 动画的定义 202
8.2.2 传统动画片的制作过程 203
8.2.3 动作效果与画面切换 204
8.3 计算机动画 204
8.3.1 计算机动画研究内容 204
8.3.2 计算机动画系统的分类 205
8.3.3 计算机辅助二维动画 205
8.3.4 计算机辅助三维动画 206
8.3.5 实时动画和逐帧动画 207
8.4 动画文件格式 207
8.4.1 GIF格式 207
8.4.2 FLI/FLC格式 207
8.4.3 SWF格式 207
8.4.4 AVI格式 208
8.4.5 MOV格式 208
8.5 常见的二维动画软件 208
8.6 常见的三维动画软件 208
8.6.1 3DS MAX 208
8.6.2 Maya 3D 209
习题 210
第9章 图像处理软件Photoshop 211
9.1 Photoshop基础 211
9.1.1 Photoshop基础配置 211
9.1.2 程序界面 211
9.1.3 工具箱的简单介绍 213
9.2 图像的编辑修改与质量改善 216
9.2.1 图像的编辑修改 216
9.2.2 图像的质量改善 217
9.3 图像滤镜 218
9.3.1 模糊效果 218
9.3.2 图像变形 220
9.3.3 噪声效果 221
9.3.4 锐化效果 223
9.4 图像合成 224
9.5 产品设计与实训 225
9.5.1 素材准备与分析 226
9.5.2 操作思路 226
9.5.3 操作步骤 226
9.5.4 酒杯的制作 227
9.5.5 餐具的制作 229
9.6 包装设计与实训 230
9.6.1 手提袋的制作 233
9.6.2 化妆品的包装 235
习题 239