《3D计算机图形学》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:王长波,高岩编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111313113
  • 页数:256 页
图书介绍:本书将在内容上偏重于三维计算机图形的最新技术,在介绍基本图形生成处理技术的基础上,进一步介绍了特效绘制技术、LOD技术、GPU加速技术等,以及3D图形开发技术的最新进展。同时教材将理论结合实际,着重培养学生的编程实现能力,即利用DirectX或OpenGL进行图形编程的能力,通俗易懂、深入浅出,并较多地融合最新3D游戏图形开发技术和作者在从事相关领域科研开发工作时的成果。作者还将根据教学实践自主开发了一套“3D图形教学辅助演示系统”,可以交互地演示图形生成过程,效果直观,交互方便,便于学生理解。

第1章 计算机图形学 1

1.1 计算机图形学概述 1

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

1.3 计算机图形学的应用领域 3

1.3.1 计算机辅助设计(CAD/CAM) 4

1.3.2 科学计算可视化 4

1.3.3 图形化的用户界面 5

1.3.4 电脑游戏 5

1.3.5 动画特效 5

1.3.6 地理信息系统 6

1.3.7 虚拟现实系统 7

1.3.8 计算机艺术 8

1.4 计算机图形设备与图形系统 8

1.4.1 计算机图形设备 8

1.4.2 计算机图形系统 10

1.5 计算机图形的最新发展动向 10

本章小结 11

习题 11

第2章 基本图形生成算法 12

2.1 图形光栅化的原理 12

2.2 直线的光栅化算法 13

2.2.1 逐点比较法 13

2.2.2 数值微分法 15

2.2.3 中点Bresenham算法 15

2.3 圆的光栅化算法 18

2.3.1 简单方程法产生圆弧 18

2.3.2 Bresenham算法产生圆弧 19

2.4 其他图形的光栅化算法 20

2.5 基本图元的代码实现 21

2.5.1 基本图元的C语言实现 21

2.5.2 基本图元的MFC实现 22

2.6 多边形填充 23

2.7 宽图元 25

2.7.1 复制像素画宽图元 25

2.7.2 移动画笔画宽图元 26

本章小结 27

习题 27

第3章 3D图形中的数学基础 28

3.1 坐标系 28

3.2 向量 30

3.2.1 向量的基本概念 30

3.2.2 向量的基本运算 30

3.2.3 向量的代码实现 32

3.3 矩阵 33

3.3.1 矩阵的基本概念 33

3.3.2 矩阵的基本运算 34

3.3.3 Direct3D中的矩阵 35

3.4 空间几何的运算 36

3.4.1 几何形体的表达 36

3.4.2 几何体之间的空间关系 38

本章小结 41

习题 41

第4章 图形变换 43

4.1 二维及三维图形几何变换 43

4.1.1 二维图形几何变换 43

4.1.2 三维图形几何变换 47

4.2 投影与投影变换 49

4.2.1 平行投影 49

4.2.2 透视投影 50

4.3 图形变换的实现 53

4.3.1 Direct3D中的矩阵 53

4.3.2 Direct3D中的矩阵变换 54

4.4 编程实例 56

本章小结 57

习题 58

第5章 三维场景绘制基础 59

5.1 三维场景绘制流水线 59

5.1.1 世界变换 59

5.1.2 观察空间变换 59

5.1.3 背面拣选 61

5.1.4 光照 61

5.1.5 裁剪 61

5.1.6 投影 64

5.1.7 视口变换 65

5.1.8 光栅化 66

5.2 Direct3D的绘制流程 66

5.2.1 创建场景 66

5.2.2 绘制场景 69

5.2.3 Direct3D绘制流水线 71

本章小结 72

习题 73

第6章 真实感图形光照处理 74

6.1 3D图形的颜色原理 74

6.1.1 颜色的光学性质 74

6.1.2 CIE色度图 75

6.1.3 颜色空间模型 77

6.2 光照明模型 79

6.2.1 简单光照明模型 79

6.2.2 基于简单光照明模型的多边形绘制 83

6.2.3 整体光照明模型和光线跟踪算法 84

6.3 光照的Direct3D编程实现 86

6.3.1 Direct3D颜色定义 86

6.3.2 光源 88

6.3.3 材质 91

6.3.4 Direct3D顶点颜色 91

本章小结 92

习题 92

第7章 纹理映射技术 93

7.1 纹理映射的基本原理 94

7.1.1 纹理的基本概念 94

7.1.2 纹理映射的概念 94

7.1.3 纹理映射中的几何关系 95

7.2 纹理映射的实现过程 96

7.2.1 纹理映射的OpenGL实现 96

7.2.2 纹理映射的Direct3D实现 100

7.3 高级纹理映射技术 102

7.3.1 纹理的优化处理技术 102

7.3.2 多重纹理映射 104

7.3.3 凹凸纹理 105

7.3.4 环境映射技术 108

本章小结 111

习题 111

第8章 场景组织与管理技术 112

8.1 3D场景组织方式 112

8.1.1 场景图 112

8.1.2 基于绘制状态的场景管理 114

8.2 优化场景绘制的几何剖分技术 115

8.2.1 四叉树 115

8.2.2 八叉树 116

8.2.3 BSP树 117

8.3 三维场景的快速可见性判断 119

8.3.1 入口技术 119

8.3.2 遮挡剔除 121

8.3.3 潜在可见集方法 123

8.4 LOD加速绘制技术 124

8.4.1 LOD技术分类 125

8.4.2 LOD的主要简化方法分类 125

8.4.3 典型LOD的简化方法 126

本章小结 127

习题 127

第9章 游戏特效绘制技术 128

9.1 广告牌技术 128

9.2 粒子系统技术 130

9.2.1 粒子的属性 130

9.2.2 粒子系统的创建 131

9.3 精灵动画技术 132

9.4 Warping特效技术 134

9.5 烟、雾、火特效技术 136

9.5.1 粒子系统 137

9.5.2 分形几何 137

9.5.3 过程纹理 137

9.5.4 细胞自动机 137

9.5.5 基于物理的方法 137

9.6 眩光特效技术 139

9.6.1 太阳及镜头光晕的绘制 139

9.6.2 光晕淡入淡出效果 140

9.6.3 可见性判断 140

本章小结 141

习题 141

第10章 地形绘制技术 142

10.1 地形绘制的基本理论 142

10.1.1 地形生成 142

10.1.2 地表纹理 144

10.1.3 地形光照 145

10.1.4 地形的雾化效果 147

10.2 简单地形的绘制方法 147

10.2.1 生成地形高度数据 147

10.2.2 创建地形网格 148

10.2.3 添加纹理 149

10.2.4 计算阴影 149

10.2.5 添加雾化效果 150

10.3 高级地形绘制技术 150

10.3.1 地形LOD技术简介 151

10.3.2 基于GeoMipmapping的地形LOD技术 152

本章小结 155

习题 156

第11章 阴影绘制技术 157

11.1 阴影的基本原理 157

11.2 平面阴影技术 158

11.2.1 投影矩阵 158

11.2.2 模板缓存 159

11.2.3 绘制过程 160

11.3 复杂阴影实现技术 161

11.3.1 阴影图算法 161

11.3.2 阴影体算法 163

本章小结 166

习题 167

第12章 碰撞检测技术 168

12.1 碰撞检测的基本原理 168

12.1.1 概念 168

12.1.2 碰撞检测问题描述 170

12.1.3 碰撞检测算法分类 171

12.2 高级碰撞检测技术 176

12.2.1 基于图像空间的碰撞检测算法 176

12.2.2 基于一般表示模型的碰撞检测算法 177

12.2.3 面向可变形体的碰撞检测算法 177

12.3 基本碰撞检测算法实现 178

12.3.1 使用边界框测试碰撞 178

12.3.2 使用边界球测试碰撞 180

12.4 示例程序 181

12.4.1 边界框碰撞 181

12.4.2 边界球碰撞 185

本章小结 188

习题 188

第13章 计算机动画技术 189

13.1 计算机动画概述 189

13.2 计算机三维动画过程 190

13.3 关键帧动画 192

13.4 过程动画 193

13.4.1 三维纹理映射与过程纹理 193

13.4.2 L系统 194

13.4.3 傅里叶合成技术 197

13.5 变形动画 197

13.6 基于物理模型的动画 199

13.6.1 刚体动力学模拟 200

13.6.2 弹性变形体模拟 200

13.6.3 流体模拟 200

13.7 人体和关节动画 201

13.7.1 人体骨架模型 201

13.7.2 运动学方法 202

13.7.3 动力学方法 203

13.7.4 基于运动捕获的方法 204

本章小结 214

习题 215

第14章 GPU硬件加速技术 216

14.1 GPU硬件加速的原理 217

14.2 GPU与CPU比较 218

14.3 HLSL着色器 218

14.3.1 HLSL简介 218

14.3.2 HLSL的数据类型 219

14.3.3 编写HLSL着色器代码 219

14.3.4 在Direct3D程序中加载HLSL 221

14.3.5 HLSL的Effect框架 222

14.3.6 基于HLSL的光照效果程序 223

14.4 GLSL着色器 225

14.4.1 GLSL数据类型 226

14.4.2 GLSL的输入输出 226

14.4.3 顶点着色器与片段着色器操作 231

14.4.4 GLSL光照示例程序 232

本章小结 237

习题 237

附录A 图形开发库Direct3D编程入门 238

附录B OpenGL简介 249

参考文献 254