第1章 实验平台建立 1
1.1 创建新项目 1
1.2 建立菜单 4
1.3 建立菜单响应函数 6
1.4 技巧:“橡皮筋”技术 8
本章作业 11
第2章 基本图形生成 12
2.1 生成直线的DDA算法 12
2.1.1 理论分析 12
2.1.2 程序实现 15
2.2 生成直线的中点算法 18
2.2.1 理论分析 18
2.2.2 编程实现 18
2.3 生成圆的Bresenham算法 22
2.3.1 理论分析 22
2.3.2 编程实现 23
本章作业 26
第3章 图形填充 27
3.1 扫描线填充算法 27
3.1.1 操作说明 27
3.1.2 编程实现 27
本章作业 33
第4章 二维裁剪 34
4.1 Cohen-Sutherland算法 34
4.1.1 理论分析 34
4.1.2 编程实现 34
4.2 中点裁剪算法 37
4.2.1 理论分析 37
4.2.2 编程实现 38
4.3 梁友栋-Barsky裁剪算法 41
4.3.1 理论分析 41
4.3.2 编程实现 41
4.4 窗口对多边形裁剪 43
4.4.1 理论分析 43
4.4.2 编程实现 44
本章作业 50
第5章 图形变换 51
5.1 平移 51
5.1.1 理论分析 51
5.1.2 编程实现 51
5.2 旋转 52
5.2.1 理论分析 52
5.2.2 编程实现 53
5.3 缩放 55
5.3.1 理论分析 55
5.3.2 编程实现 55
5.4 对称变换 59
5.4.1 理论分析 59
5.4.2 编程实现 60
5.5 错切变换 62
5.5.1 理论分析 62
5.5.2 编程实现 63
本章作业 65
第6章 平面投影 66
6.1 平行投影 66
6.1.1 理论分析 66
6.1.2 编程实现 67
6.2 透视投影 72
6.2.1 理论分析 72
6.2.2 编程实现 72
6.3 简单投影 75
6.3.1 理论分析 75
6.3.2 编程实现 76
6.4 场景漫游 77
6.4.1 理论分析 77
6.4.2 编程实现 79
本章作业 86
第7章 消隐 87
7.1 地形显示1 87
7.1.1 理论分析 87
7.1.2 编程实现 88
7.2 地形显示2 91
7.2.1 理论分析 91
7.2.2 编程实现 92
7.3 Z缓冲区算法 95
7.3.1 理论分析 95
7.3.2 编程实现 95
本章作业 101
第8章 曲线 102
8.1 Bezier曲线 102
8.1.1 理论分析 102
8.1.2 编程实现 104
8.2 B样条曲线 111
8.2.1 理论分析 111
8.2.2 编程实现 112
本章作业 117
参考文献 118