第1章 基本图形的生成 1
1.1 直线 1
1.1.1 DDA(数值微分)算法 2
1.1.2 生成直线的中点画线法 2
1.1.3 Bresenham算法 2
1.1.4 程序设计 3
1.2 圆 7
1.2.1 直角坐标法 7
1.2.2 中点画圆法 8
1.2.3 圆的Bresenham算法 8
1.3 椭圆扫描转换中点算法 11
1.4 多边形的扫描转换与区域填充 13
1.4.1 多边形的扫描转换 14
1.4.2 区域填充算法 15
1.5 字符的生成 22
1.5.1 点阵字符 22
1.5.2 矢量字符 23
1.5.3 字符属性 23
1.6 图形裁剪 23
1.6.1 线裁剪 24
1.6.2 多边形裁剪 25
1.6.3 字符裁剪 26
1.6.4 图形裁剪编程 26
1.7 Visual C++中基本绘图函数 38
练习题 41
第2章 二维图形 42
2.1 用户坐标到屏幕坐标的变换 42
2.1.1 窗口到视口的变换内容 42
2.1.2 窗口区到视口区的坐标变换 43
2.2 二维几何变换 44
2.2.1 基本变换 44
2.2.2 二维几何变换的级联 47
2.3 几何变换程序设计案例 49
2.4 平面曲线图 59
2.4.1 正叶线 60
2.4.2 正叶线蝴蝶结 60
2.5 平面曲线程序设计案例 60
练习题 63
第3章 交互技术 64
3.1 用户接口设计 64
3.2 逻辑输入设备与输入处理 65
3.2.1 逻辑输入设备 65
3.2.2 输入模式 66
3.3 交互式绘图技术 67
3.4 交互技术程序设计案例 68
练习题 75
第4章 简单CAD绘图系统开发实例 76
4.1 计算机图形学绘图基础 76
4.1.1 Visual C++开发系统基本绘图知识 77
4.1.2 计算机图形学绘图系统设计基本原则 79
4.1.3 图形程序设计步骤 79
4.1.4 在Visual C++集成开发环境下程序的调试 81
4.1.5 计算机程序结构设计基础 81
4.1.6 绘图程序设计基本方法 82
4.2 图形的数据结构 85
4.2.1 图形信息的分类 85
4.2.2 图形数据结构 85
4.2.3 计算机对数据的管理——数据文件 86
4.2.4 图形数据的存储状态 87
4.2.5 动态文件数据结构的组织原则 87
4.2.6 简单CAD绘图系统编程实例中的数据结构 87
4.3 简单CAD绘图系统功能简介 103
4.3.1 简单CAD绘图系统运行界面 103
4.3.2 简单CAD绘图系统功能 103
第5章 三维图形变换 107
5.1 三维图形几何变换矩阵 107
5.2 三维图形基本变换矩阵 107
5.2.1 平移变换 107
5.2.2 比例变换 108
5.2.3 绕坐标轴的旋转变换 109
5.2.4 对称变换 110
5.2.5 错切变换 112
5.3 图形的投影变换 113
5.3.1 投影变换分类 113
5.3.2 平行投影 114
5.4 三维变换程序设计案例 118
练习题 146
第6章 曲线和曲面 147
6.1 曲线曲面参数表示的基础知识 147
6.1.1 非参数表示和参数表示 147
6.1.2 参数表示的基本特征 148
6.1.3 曲线段之间的连续性 150
6.1.4 曲线曲面设计中的几个概念 151
6.2 常用参数曲线 151
6.2.1 一般规则空间曲线 151
6.2.2 Bezier曲线 152
6.2.3 B样条曲线 158
6.3 参数曲面 164
6.3.1 函数式曲面 164
6.3.2 旋转曲面 165
6.4 常用曲面 166
6.4.1 双曲线曲面 166
6.4.2 Bezier曲面 166
6.4.3 B样条曲面 168
6.5 曲面与曲线编程案例 169
练习题 195
第7章 几何造型技术 196
7.1 实体的表示模型 196
7.1.1 分解表示 197
7.1.2 构造表示 198
7.1.3 边界表示 200
7.1.4 形体的边界表示模型 200
7.2 求交分类 202
7.2.1 求交分类 202
7.2.2 基本的求交算法 203
7.3 图形相交-相切程序设计案例 207
7.4 非传统造型技术 220
7.4.1 基本概念 221
7.4.2 分形造型对模型的基本要求 221
7.4.3 分形造型的常用模型 221
7.5 分形造型应用 222
7.6 分形造型编程设计 223
练习题 238
第8章 消隐 239
8.1 线消隐 239
8.2 面消隐 240
8.2.1 区域排序算法基本思想 240
8.2.2 深度缓存(Z-buffer)算法 241
8.2.3 扫描线算法 241
8.3 图形几何构造 242
8.4 消隐技术编程案例 245
练习题 259
第9章 真实感图形学 260
9.1 颜色模型 260
9.1.1 CIE色度图 260
9.1.2 常用的颜色模型 261
9.2 简单光照明模型 263
9.2.1 Phong光照明模型 263
9.2.2 增量式光照明模型 265
9.3 局部光照明模型 266
9.4 光透射模型 267
9.4.1 透明效果的简单模型 267
9.4.2 Whitted光透射模型 268
9.4.3 Hall光透射模型 268
9.4.4 简单光反射透射模型 268
9.5 纹理及纹理映射 269
9.6 整体光照明模型 270
9.6.1 光线跟踪算法 270
9.6.2 辐射度方法 272
9.7 真实感图形学编程案例 272
练习题 321
第10章 计算机动画 322
10.1 计算机动画概述 322
10.2 计算机动画的应用领域 322
10.3 计算机动画的分类和原理 322
10.4 目前计算机动画面临的问题 325
10.5 计算机动画程序设计案例 325
10.5.1 帧动画 325
10.5.2 实时动画 328
练习题 335
参考文献 336