前 言
第一章 计算机图形学简介 1
第一节 计算机图形学 1
第二节 计算机图形学的起源与
发展 2
第三节 计算机图形学的研究内容及
应用 3
第四节 图形系统的硬件 4
一、显示处理器 5
二、图形显示器 5
第五节 计算机图形编程接口 6
一、OpenGL 6
二、DirectX 7
三、Open Inventor 7
习题 8
第二章 图形基元的显示 9
第一节 直线扫描转换算法 9
一、DDA 直线扫描转换算法 9
二、中点画线法 11
三、Bresenham 画线算法 13
第二节 圆的扫描转换算法 15
一、中点画圆法 16
二、Bresenham 画圆算法 19
第三节 椭圆扫描转换算法 21
第四节 区域填充 25
一、种子填充算法 25
二、扫描线填充算法 28
三、多边形的扫描转换算法 31
四、边填充算法 35
五、图案填充 38
习题 39
第三章 图形变换 41
第一节 齐次坐标 42
第二节 二维图形变换 42
第三节 二维视见变换 47
第四节 三维图形变换 49
一、平移变换 49
二、比例变换 50
三、旋转变换 51
第五节 投影变换 54
一、平行投影 55
二、透视投影 57
第六节 裁剪 62
一、直线段裁剪算法 62
二、其他图形的裁剪 68
三、三维图形的裁剪 78
习题 82
第四章 曲线和曲面 85
第一节 曲线和曲面表示的基础
知识 85
一、曲线和曲面参数表示 85
二、基本概念 86
第二节 Hermite 多项式 88
一、Lagrange 插值 89
二、三次Hermite 插值 90
三、规范化三次Hermite 插值 91
四、分段三次Hermite 插值 92
第三节 Bézier 曲线 95
一、Bézier 曲线的定义 95
二、Bézier 曲线的性质 97
三、Bézier 曲线的拼接 98
四、Bézier 曲线的绘制 99
五、Bézier 曲线的升阶 106
六、有理Bézier 曲线 107
第四节 Bézier 曲面 108
一、Bézier 曲面的定义 108
二、Bézier 曲面的性质 109
三、Bézier 曲面示例 109
四、Bézier 曲面的拼接 112
第五节 B 样条曲线 113
一、B 样条曲线的定义 114
二、B 样条曲线的性质 117
三、均匀B 样条曲线 118
四、准均匀B 样条曲线 123
五、B 样条曲线的绘制 127
六、非均匀有理B 样条曲线 130
第六节 B 样条曲面 134
习题 137
第五章 图形运算 140
第一节 线段的交点计算 140
一、两条线段求交 140
二、多条线段求交 141
第二节 多边形表面的交线计算 144
第三节 平面中的凸壳算法 147
第四节 包含与重叠 149
一、简单多边形的包含算法 149
二、凸多边形的包含算法 150
三、凸多边形重叠计算 152
第五节 简单多边形的三角剖分 155
习题 160
第六章 形体的表示及其数据结构 162
第一节 二维形体的表示 162
一、二维图形的边界表示 162
二、平面图形的四叉树表示
方法 165
第二节 三维几何模型 168
一、几何元素 168
二、线框、表面及实体表示 169
三、三维形体表示方法 171
四、八叉树 173
第三节 分形 177
一、分形的概念 177
二、分形一般算法 180
三、Von Koch 算法 181
四、Julia 和Mandelbort 集 184
第四节 粒子系统 186
习题 187
第七章 消隐算法 190
第一节 线面比较法消除隐藏线 190
一、凸多面体的可见性 190
二、非凸多面和多个形体的
可见性 191
第二节 浮动水平线算法 194
第三节 深度排序算法 197
第四节 z.缓冲算法 199
第五节 扫描线算法 200
一、扫描线算法的数据结构 200
二、扫描线算法的实施步骤 202
第六节 区域分割算法 204
一、多边形和区域的关系 204
二、区域分割方法 206
第七节 BSP 树算法 207
一、构造BSP 树 207
二、BSP 树遍历 207
第八节 光线投射算法 208
习题 209
第八章 真实感图形的绘制 211
第一节 漫反射及具体光源的
照明 211
一、环境光 211
二、漫反射 212
三、镜面反射与Phong 模型 212
四、光的衰减 213
第二节 多边形网的明暗处理