绪论 1
0.1 基础知识 2
0.2 光栅图形介绍 2
0.3 基础知识 2
0.4 高级绘图方法 4
0.5 附录 4
第一章 几何学和代数学基本知识回顾 6
1.1 几何图形的协调 8
1.2 直线方程 9
1.3 实用函数 14
1.4 合适角度 14
1.5 关于平方根函数 16
1.6 转换成C程序 16
第二章 C语言程序设计技术 17
2.1 ANSI函数和非ANSI函数 18
2.2 头文件和模块文件 19
2.3 静态变量 19
2.4 头文件 20
2.5 宏 22
2.6 指针 24
2.7 其他参考资料 27
2.8 图形程序设计 27
第三章 图形显示设备 28
3.1 早期绘图发展简介 29
3.2 手工绘图 30
3.3 绘图设备 30
3.4 阴极射线管CRT 33
3.5 电视屏幕 33
3.6 帧缓冲存储器 35
3.7 画直线 38
第四章 画直线和窄条 39
4.1 光栅坐标系 40
4.2 画点 40
4.3 绘图效率与使用方便 41
4.4 ggraph.c 模块 41
4.5 帧缓冲存储函数 42
4.6 调色板访问 43
4.7 画直线 46
4.8 中点选择算法 51
4.9 完整的直线画法 52
4.10 演示程序:gldemo.c 55
4.11 硬件帮助 55
4.12 更有趣的图形 55
4.13 本章有关函数 56
第五章 图、椭圆和其他有趣的图形 59
5.1 绘矩形 60
5.2 画圆 61
5.3 快速画圆 63
5.4 用差分法画圆 66
5.5 保持适当的纵横比 67
5.6 椭圆 68
5.7 多边形 72
5.8 多边形的类型 76
5.9 绘多边形 77
5.10 曲线和折线 77
5.11 近似画曲线 78
5.12 多项式曲线 79
5.13 绘制更好的图形 80
5.14 本章有关函数 81
第六章 线性代数基础 83
6.1 仿射变换 84
6.2 线性代数 86
6.3 利用矩阵表示变换 86
6.4 多重变换 88
6.5 矩阵库与向量库 89
6.6 矩阵与对象 92
6.7 使对象绕着它的中心旋转 92
6.8 缩放问题 94
6.9 画变换后的对象 95
6.10 画其他的参数曲线 102
6.11 变换所具有的优点 102
6.12 演示程序简介 107
6.13 超出屏幕现象 107
6.14 本章有关函数 107
第七章 裁剪和开窗口 110
7.1 矩形绘图区 113
7.2 检查边界框 113
7.3 对直线作解析裁剪 118
7.4 多边形的裁剪 123
7.5 开窗口 128
7.6 裁剪函数 129
7.7 裁剪演示程序简介 132
7.8 实心体简介 132
7.9 本章有关函数 132
第八章 画实心图形 134
8.1 扫描转变 135
8.2 填充凸形对象 137
8.3 填充非凸多边形 145
8.4 裁剪与填充 151
8.5 填充图案 152
8.6 其他绘图技巧 154
8.7 本章有关函数 154
第九章 绘制位图 157
9.1 位图 158
9.2 建立位图 160
9.3 建立几何位图 161
9.4 根据数组建立位图 161
9.5 裁剪和位图 163
9.6 定义裁剪区域 165
9.7 使用位图的画笔 167
9.8 位图图案 170
9.9 位图与向量图形比较 172
9.10 位图演示 174
9.11 位图图形 174
9.12 本章有关函数 174
第十章 写文字 177
10.1 图形文字 178
10.2 带字体的文字 179
10.3 写字符 181
10.4 位图字库 182
10.5 矢量字库 185
10.6 建立矢量字库 187
10.7 变换位图字符 190
10.8 增强文字功能 194
10.9 演示时间 196
10.10 小结 196
10.11 在应用之前 197
10.12 本章有关函数 197
第十一章 绘制函数曲线 200
11.1 图形学发展史 201
11.2 函数绘图的常用方式 202
11.3 曲线的图解 205
11.4 画坐标轴 206
11.5 设置绘图比例 212
11.6 线性缩放 212
11.7 查找最小值和最大值 215
11.8 绘函数曲线的其他问题 216
11.9 对数缩放 218
11.10 标记曲线 220
11.11 绘制完整的曲线 220
11.12 参数函数 223
11.13 离散图 224
11.14 直方图 225
11.15 多条曲线 226
11.16 平滑曲线 227
11.17 本章有关函数 227
第十二章 计算机动画 229
12.1 动画的基本原理 230
12.2 计算机动画 231
12.3 动画位图 232
12.4 存储背景 233
12.5 翻动位图 235
12.6 动画线性画 237
12.7 逐位绘图 238
12.8 平面掩码 240
12.9 多图形平面 243
12.10 获取用户输入 246
12.11 动画的未来 247
12.12 本章有关函数 247
第十三章 绘制更好的图形 249
13.1 反混叠直线 250
13.2 反混叠调色板 253
13.3 绘制反混叠直线 254
13.4 反混叠的圆 256
13.5 绘制反混叠变换的椭圆 259
13.6 证实 262
13.7 反混叠技术的其他特性 262
13.8 主要程序 263
13.9 本章有关函数 263
第十四章 综合应用 266
14.1 模拟钟 267
14.2 生态系统模拟 270
14.3 更加物理化的模拟 274
14.4 小结 277
14.5 本章有关函数 278
第十五章 结束语 279
15.1 不断更新的绘图方法 280
15.2 三维计算机图形 280
15.3 标准图形 281
15.4 硬拷贝 283
15.5 小结 283
附录A 从C到C++ 285
A.1 矩阵和向量类 285
A.2 图形对象 287
A.3 小结 289
附录B 软件的安装 290
B.1 磁盘上的文件 292