第一部分 理论基础 4
第一章 基本概念 4
1.1 三维图形与其它图形的差异 4
1.2 三维图形的用途 6
1.3 三维图形概述 7
1.4 三维图形的一种定义 7
第二章 硬件 8
2.1 图形适配器 8
2.2 图形方式 10
2.3 图形适配器的工作方式 10
2.4 显示内存映象 15
2.5 图形程序的可移植性 19
2.6 图形适配器标准 21
2.7 监视器 24
第三章 软件 26
3.1 C的优势之一:用途广泛 26
3 2 C的优势之二:强大的功能 26
3.3 C的优势之三:较快的速度 27
3 4 利用C编译器编制程序概要 27
3.5 集成的C语言编程环境 28
3.6 集成C编译器的工作方式 29
3 7 程序设计过程 30
3.8 典型的Quick C编程环境 31
3.9 典型的Turbo C程序设计环境 32
3.10 内存管理 33
第四章 程序控制 34
4.1 C程序结构 34
4.2 C程序控制 35
4 3 C的操作符 35
4.4 C的循环控制 37
4 5 C的分支语句 38
4.6 C的变量 39
4.8 C程序的可移植性 40
4 7 C中的数组 40
4.9 语法的可移植性 42
4.10 与C编译器通讯 43
第五章 图形控制 45
5.1 基本的图形功能 45
5.2 高级图形功能 50
5.3 与图形有关的句法 55
第六章 使用Quick C 56
6.1 系统内存映象 56
6.2 DOS环境 58
6.3 QLB函数库软驱动系统 59
6.4 运行—典型的C程序进行实例分析 61
6.5 分析程序 64
6.6 常见的错误信息 65
6.7 创建EXE文件 66
第七章 使用Turbo C 67
7.1 系统的内存映象 67
7.2 DOS环境 69
7.3 运行一个典型的程序进行实例分析 69
7.4 分析程序 73
7.5 常见的错误信息 74
7.6 生成EXE文件 75
8.1 世界坐标 76
第二部分 模型化 76
第八章 三维图象的基本知识 76
8 2 生成三维模型 77
8.3 模型组件 78
8.4 B_rep模型化 80
8 5 视图化 80
8.6 子实休 80
8 7 CSG模型化 80
8 8 选项 81
9.1 三维算法 84
9 2 放置公式 84
第九章 三维模型的操作 84
9.3 平移公式 85
9.4 投影公式 86
9.5 变形棱角 87
9.6 弧度和度 88
9.7 放置—平移序列 91
9.8 缩放 91
9.9 组成操作 92
第十章 立方体 94
10.1 透明的线框立方体 94
10.3 主函数 95
10.2 全程变量和局部变量 95
10.4 变量初始化 98
10.5 消去隐藏面 98
10 6 目标空间和图象空间 99
10.7 实心立方体—平面方程式法 100
10.8 平面方程式公式 100
10.9 优化的数据库 100
10.10 擦子 101
10.11 一个通用的算法 102
10.12 使用编译器的注意事项 104
第十一章 球体和圆柱体 127
11.1 实心球 127
11.2 区域填充种子点 130
11.3 监视器的精度 131
11.4 实心圆柱体 132
第十二章 三维空间曲线 163
12.1 三次参数曲线 163
12.2 三维自由曲线 163
第十三章 表面映射 177
13.1 表面映射 177
13.2 映射立方体 177
13.3 映射圆柱体 180
14.2 十种隐藏面消除的方法 212
14.1 隐藏面消除的种类 212
第十四章 多模型显示 212
14.3 辐射角预排序法 214
14.4 辐射角排序法 215
14.5 平面方程式法 215
14.6 隔离平面法 215
14.7 深度排序法 215
14.8 光线跟踪法 216
14.9 分解法 216
14.10 Z缓冲器法 217
14.11 最小最大法 218
14.13 有关程序设计的一些问题 219
14.12 扫描线法 219
第十五章 光照和明暗处理 220
15.1 明暗处理算法 220
第三部分 绘制 220
15.2 入射角 221
15 3 光照与反射 221
15 4 表面类型 223
15.5 光线跟踪 225
15.6 在人计算机上做的光照和明暗处理 226
16.1 半色调方法 227
16.2 半色调功能展示 227
第十六章 PC上的明暗处理模式 227
16.3 位铺盖的两种策略 230
16.4 线颤动技术 232
第十七章 计算机处理明暗技术 245
17.1 一般算法 245
17.2 专用算法 246
17.3 计算机明暗处理立方体示例 247
17.4 illumination()子程序 247
17.5 Shade()子程序 249
17.6 子程序dither() 251
17.7 以立方体为示例 251
17.8 计算机对球的明暗处理示例 252
17.9 计算机对圆柱体的处理示例 253
第十八章 反射和阴影 309
18.1 镜面反射 310
18.2 阴影 310
18.3 镜面反射演示程序 311
第四部分 动画技术 331
第十九章 动画技术基础知识 331
19.1 BITBLT动画 331
19.2 线框动画 332
19.3 实时动画 332
19.5 其它动画技术 333
19 4 优缺点 333
第二十章 帧动画 334
20.1 达到硬件速度的软件 334
20.2 选择图形方式 334
20 3 三维实体模型的帧动画示例 334
20.4 main()过程 336
20.5 动画管理程序 336
20.6 造型 336
20.7 程序示例 336
20.8 帧动画的潜力 337
21.2 提高性能的四种方法 351
21.1 实时动画机理 351
第二十一章 实时动画 351
21.3 实时动画示例 352
第五部分 应用 357
第二十二章 包装设计实例分析 357
22.1 准备包装盒 358
22.2 设计准备 358
22.3 包装设计示例 358
22.4 程序工作原理 360
22.5 改进设计 361
22.6 硬件环境 361
23.1 飞行模拟中的三维计算公式 381
第二十三章 飞行模拟实例分析 381
23.2 空战模拟中的三维计算公式 382
23.3 应用飞行模拟原型 382
23.4 程序工作原理 383
23.5 程序模块分析 384
23.6 修改源代码观察不同情况 388
第二十四章 实例分析—容器设计 409
24.1 程序工作原理 409
附录A C语言图形设计的数学基础 433
附录B 采用C绘制图形的磁盘程序 441
附录C 变量字典 452