第1章 概述 1
1.1 计算机图形学的诞生 1
1.2 计算机图形学的应用 2
1.2.1 计算机辅助设计 2
1.2.2 用户接口 2
1.2.3 图示 3
1.2.4 计算机动画 3
1.2.5 科学可视化 3
1.3 图形软件标准 4
1.3.1 图形核心系统(GKS) 4
1.3.2 程序员层次交互图形系统(PHIGS) 4
1.3.3 开放图形库(OpenGL) 4
习题 5
第2章 图形系统 6
2.1 计算机图形软件系统 6
2.2 计算机图形硬件系统 6
2.2.1 图形输入设备 6
2.2.2 图形输出设备 7
2.3 图形显示设备 8
2.3.1 阴极射线管(CRT) 8
2.3.2 随机扫描显示器 9
2.3.3 光栅扫描显示器 9
2.3.4 彩色CRT 10
2.3.5 帧缓冲区和色彩 11
2.3.6 刷新式显示器的相关术语 12
2.4 液晶显示器(LCD) 13
习题 14
第3章 基本图形元素的生成算法 15
3.1 直线的生成算法 15
3.1.1 点的生成 15
3.1.2 直线段的生成 16
3.1.3 数值微分分析法(DDA) 16
3.1.4 中点画线算法 19
3.1.5 Bresenham算法 24
3.2 圆的生成算法 27
3.2.1 中点法 27
3.2.2 Bresenham法画圆 30
3.3 椭圆的生成算法 33
3.4 区域填充算法 36
3.4.1 多边形的扫描线连贯算法 36
3.4.2 种子填充算法 43
习题 44
第4章 图形变换 45
4.1 二维几何变换 45
4.1.1 平移变换 45
4.1.2 旋转变换 45
4.1.3 比例变换 46
4.1.4 齐次坐标 46
4.1.5 级联变换 47
4.2 三维几何变换 49
4.2.1 平移变换 49
4.2.2 比例变换 49
4.2.3 旋转变换 49
4.2.4 绕空间中任一直线旋转变换 50
4.3 三维变换综合示例 53
4.4 投影变换 59
4.4.1 投影变换分类 59
4.4.2 正平行投影(三视图) 60
4.4.3 正轴测投影 61
4.4.4 斜平行投影 62
4.4.5 透视投影 64
习题 66
第5章 交互技术 67
5.1 输入设备 67
5.1.1 定位设备(Locator) 67
5.1.2 笔画设备(Stroke) 67
5.1.3 选择设备(Choice) 67
5.1.4 字符设备(String) 67
5.1.5 定值设备(Value) 67
5.1.6 拾取设备(Pick) 68
5.2 输入控制 68
5.2.1 请求模式 68
5.2.2 采样模式 68
5.2.3 事件模式 68
5.3 交互技术 69
5.3.1 定位技术 69
5.3.2 约束技术 69
5.3.3 橡皮筋技术 72
5.3.4 拖动技术 76
习题 78
第6章 图形裁剪 79
6.1 窗口到视区变换 79
6.1.1 坐标系 79
6.1.2 变换 80
6.2 线段裁剪 83
6.2.1 标号法 83
6.2.2 中点法 88
6.3 多边形裁剪 94
习题 102
第7章 曲线和曲面 103
7.1 Bézier曲线曲面 103
7.1.1 Bézier曲线 103
7.1.2 Bézier曲线的绘制 110
7.1.3 Bézier曲面 113
7.2 B样条 115
7.2.1 B样条(Bspline)曲线 115
7.2.2 均匀B样条 115
7.2.3 均匀非周期性B样条曲线 118
7.3 Nurbs曲线 120
7.3.1 有理B样条曲线 120
7.3.2 非均匀有理B样条曲线 120
习题 123
第8章 可见面判断算法 124
8.1 多面体的消隐 124
8.1.1 凸多面体的消隐 125
8.1.2 凹多面体的消隐 125
8.2 Z缓冲区消隐算法 127
8.2.1 基本思想 127
8.2.2 深度的计算 128
8.2.3 扫描线深度算法 128
8.3 Warnock算法 129
8.3.1 基本思想 129
8.3.2 四叉树结构 131
8.3.3 包围盒分割算法 131
8.3.4 Warnock算法举例 131
8.4 消隐算法程序 135
习题 144
第9章 真实感物体绘制 145
9.1 光照模型 146
9.1.1 漫反射(Diffuse) 146
9.1.2 环境光(Ambient) 147
9.1.3 镜面反射(Specular) 147
9.2 Gouraud明暗处理 149
9.3 光线跟踪(Ray-Tracing)算法 151
9.4 纹理(Texture)映射 153
9.5 示例 154
习题 180
附录 181
附录A C语言图形函数 181
A.1 图形系统控制函数 181
A.2 视区和屏幕操作函数 185
A.3 直线类绘图函数 188
A.4 填充函数 190
A.5 圆弧类绘图函数 193
A.6 颜色控制函数 195
A.7 像素和位映像操作函数 197
A.8 图形文本函数 199
A.9 综合绘图示例 202
习题 204
附录B OpenGL编程 205
B.1 OpenGL概述 205
B.2 OpenGL操作 205
B.3 OpenGL编程方法 205
参考文献 207