图书目录

第1章 绪论1

1.1 计算机图形学基本概念  1

1.1.1 什么是计算机图形学  1

1.1.2 图形和图像  1

1.1.3 计算机图形学与其他学科的关系  2

1.2 计算机图形学发展历史  2

1.3 计算机图形学的应用  3

1.3.1 用户接口  3

1.3.2 计算机辅助设计  4

1.3.3 数字娱乐  4

1.3.4 计算机辅助绘图  5

1.3.5 计算机辅助教学  5

1.3.6 科学计算的可视化  6

1.3.7 计算机艺术  6

习题  7

第2章 计算机图形系统8

2.1 计算机图形系统概述  8

2.1.1 计算机图形系统的功能  8

2.1.2 计算机图形系统的结构  9

2.2 计算机图形硬件设备  9

2.2.1 图形输入设备  9

2.2.2 图形显示设备  11

2.2.3 图形绘制设备  17

2.3 计算机图形软件  17

2.3.1 计算机图形软件分类  17

2.3.2 用户接口设计  18

2.3.3 基本交互式绘图技术  20

习题  21 计算机图形学基础   目 录 第3章 OpenGL编程环境介绍22

3.1 VS.NET 2008开发环境简介  22

3.2 OpenGL图形软件包介绍  23

3.2.1 OpenGL概述  23

3.2.2 OpenGL的主要功能  23

3.2.3 OpenGL的基本语法  24

3.3 设置OpenGL编程环境  25

3.3.1 OpenGL编程环境设置  25

3.3.2 OpenGL程序的结构  28

习题  30

第4章 基本图形生成算法31

4.1 什么是扫描转换  31

4.2 直线的扫描转换  31

4.2.1 DDA画线法  32

4.2.2 中点画线法  35

4.2.3 Bresenham画线法  39

4.3 圆的扫描转换  43

4.3.1 根据圆的方程画圆  43

4.3.2 中点画圆法  44

4.3.3 Bresenham画圆法  48

4.4 区域填充  51

4.4.1 扫描线多边形填充算法  51

4.4.2 边缘填充算法  60

4.4.3 种子填充算法  61

4.4.4 其他填充算法  66

4.4.5 区域填充的属性处理  67

4.5 属性处理  67

4.5.1 直线的线型处理  67

4.5.2 直线的线宽处理  68

4.5.3 曲线的线宽处理  72

4.6 字符  73

4.6.1 基本概念  73

4.6.2 点阵字符  73

4.6.3 矢量字符  74

4.7 反走样  74

4.7.1 提高分辨率  75

4.7.2 简单区域取样  76

4.7.3 加权区域取样  77

习题  78

第5章 二维变换和二维观察79

5.1 图形变换基本知识  79

5.1.1 矢量和矩阵  79

5.1.2 齐次坐标  81

5.2 基本二维变换  81

5.2.1 平移变换  82

5.2.2 旋转变换  82

5.2.3 缩放变换  83

5.2.4 基本二维变换的矩阵表示  84

5.2.5 其他变换  96

5.3 二维复合变换  105

5.3.1 连续平移  105

5.3.2 连续旋转  106

5.3.3 连续缩放  106

5.3.4 通用基准点的变换  106

5.3.5 通用方向的变换  107

5.3.6 二维变换总结  108

5.4 二维观察  109

5.4.1 二维观察流程  109

5.4.2 用户坐标系到观察坐标系的变换  110

5.4.3 窗口到视区的变换  111

5.4.4 二维裁剪概述  112

5.4.5 点裁剪  112

5.4.6 直线的裁剪  112

5.4.7 多边形的裁剪  125

5.4.8 曲线的裁剪  128

5.4.9 字符的裁剪  128

习题  128

第6章 三维变换和三维观察130

6.1 三维变换概述  130

6.2 三维几何变换  130

6.2.1 三维平移变换  131

6.2.2 三维变比变换  136

6.2.3 三维旋转变换  141

6.2.4 三维反射变换  147

6.2.5 三维错切变换  153

6.2.6 三维复合变换  158

6.3 三维投影变换  162

6.3.1 三维投影变换的分类  162

6.3.2 三视图  164

6.3.3 正轴测  166

6.3.4 斜平行投影  169

6.3.5 透视投影  171

6.4 三维观察  178

6.4.1 观察坐标系  178

6.4.2 观察空间  179

6.4.3 三维观察流程  180

习题  180

第7章 三维对象的表示181

7.1 三维对象表示方法概述  181

7.1.1 三维图形的基本问题  181

7.1.2 数据模型  181

7.1.3 过程模型  182

7.2 多边形表面  182

7.2.1 多边形表面概述  182

7.2.2 多边形表面表示法  182

7.3 二次曲面  183

7.3.1 球面  183

7.3.2 椭球面  184

7.3.3 环面  184

7.3.4 超二次曲面  184

7.4 样条曲线概述  185

7.4.1 样条的基本概念  185

7.4.2 样条曲线的分类  185

7.5 Hermite样条曲线  187

7.6 Bézier曲线和曲面  189

7.6.1 Bézier曲线的定义  189

7.6.2 Bernstein基函数的性质  190

7.6.3 常见的Bézier曲线  191

7.6.4 Bézier曲线的性质  192

7.6.5 Bézier曲线的绘制  193

7.6.6 Bézier曲面  197

7.7 B样条曲线和曲面  198

7.7.1 B样条曲线的定义  198

7.7.2 常见的B样条曲线  199

7.7.3 B样条曲线的性质  201

7.7.4 B样条曲线的分类  201

7.7.5 B样条曲面  202

7.8 空间分区表示方法  202

7.8.1 立体构造  202

7.8.2 八叉树  203

7.8.3 BSP树  204

7.9 非规则对象表示方法  204

7.9.1 分形几何方法  205

7.9.2 粒子系统  206

7.9.3 基于物理的建模  207

7.9.4 数据集可视化  207

习题  207

第8章 消隐计算209

8.1 消隐概述  209

8.1.1 消隐的定义  209

8.1.2 消隐的分类  209

8.1.3 消隐算法的原则  210

8.2 Z缓冲区算法  211

8.3 区域扫描线算法  213

8.4 深度排序算法  215

8.5 光线跟踪算法  217

8.6 BSP算法  217

习题  218

第9章 颜色模型219

9.1 光的特性  219

9.1.1 电磁频谱  219

9.1.2 颜色的心理学特征  219

9.2 颜色模型  220

9.3 标准基色和色度图  221

9.4 RGB颜色模型  223

9.5 CMY颜色模型  223

9.6 HSV颜色模型  224

习题  225

第10章 真实感图形绘制226

10.1 简单光照模型  226

10.1.1 环境反射光  227

10.1.2 漫反射光  227

10.1.3 镜面反射光  228

10.1.4 光强衰减  229

10.1.5 颜色处理  230

10.2 明暗处理  231

10.2.1 恒定光强的明暗处理  231

10.2.2 Gouraud明暗处理  232

10.2.3 Phong明暗处理  233

10.3 阴影处理  234

10.3.1 自身阴影生成  235

10.3.2 投射阴影生成  235

10.4 透明处理  236

10.4.1 透明效果的简单模拟  236

10.4.2 考虑折射的透明处理  237

10.5 整体光照模型与光线跟踪  238

10.5.1 整体光照模型概述  238

10.5.2 Whitted光照模型  238

10.5.3 光线跟踪算法  239

10.6 纹理映射  240

10.6.1 颜色纹理处理  241

10.6.2 几何纹理处理  242

习题  243

参考文献244