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

  • 购买积分:12 如何计算积分?
  • 作  者:(美)巴斯(Buss,S.R.)著;唐龙译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302136041
  • 页数:337 页
图书介绍:本书介绍三维的计算机图形学,包含描述如何使用跨OpenGL平台的编程环境,还有光线跟踪软件包的源代码。

第1章 引言 1

1.1 显示的模型 1

1.1.1 矩形的像素矩阵 1

1.1.2 矢量图形 2

1.1.3 多边形的造型 3

1.2 坐标、点、线和多边形 4

1.2.1 坐标系统 4

1.2.2 在OpenGL中几何形体 4

1.3 适合动画的双缓冲区 13

第2章 变换与观察 15

2.1 二维空间中的变换 16

2.1.1 基本定义 17

2.1.2 线性变换的矩阵表示 18

2.1.3 刚性变换和旋转 20

2.1.4 齐次坐标 23

2.1.5 仿射变换的矩阵表示 23

2.1.6 OpenGL中的二维变换 25

2.1.7 再讨论组合变换 28

2.1.8 二维投影几何学 29

2.2 三维空间中的变换 30

2.2.1 从二维空间到三维空间 31

2.2.2 OpenGL中的变换矩阵 32

2.2.3 旋转矩阵的推导 36

2.2.4 欧拉(Euler)定理 39

2.2.5 三维投影几何学 40

2.3 观察变换与透视 41

2.3.2 透视变换 43

2.3.1 正投影变换 43

2.3.3 直线映射到直线 47

2.3.4 投影的另一个应用:阴影 47

2.3.5 OpenGL透视变换 48

2.4 映射到像素 52

2.4.1 Bresenham算法 55

2.4.2 浮点数四舍五入的危险 57

第3章 光照、亮度和着色 60

3.1 Phong光照模型 61

3.1.1 漫反射 63

3.1.2 镜面反射 64

3.1.4 综合:多种光源和颜色 66

3.1.3 环境反射和发射光 66

3.1.5 Gouraud和Phong渲染 67

3.1.6 计算表面法向 70

3.1.7 仿射变换及法向量 72

3.1.8 OpenGL中的光照和材料属性 73

3.2 Cook-Torrance光照模型 78

3.2.1 双向反射 78

3.2.2 Cook-Torrance模型概述 79

3.2.3 微平面分布项 81

3.2.4 几何表面遮蔽项 81

3.2.5 Fresnel项 85

4.1.1 两点之间的插值 89

第4章 均值与插值 89

4.1 线性插值 89

4.1.2 加权平均和仿射组合 90

4.1.3 三个点的插值:重心坐标 92

4.2 双线性和三线性插值 96

4.2.1 双线性插值 96

4.2.2 反向双线性插值 100

4.2.3 三线性插值 104

4.3 凸集和加权平均 105

4.4 插值和齐次坐标 107

4.5 双曲线插值 108

4.6 球面线性插值 109

5.1 图像的纹理映射 112

第5章 纹理映射 112

5.1.1 纹理插值 113

5.1.2 纹理坐标值的确定 114

5.1.3 MIP映射和反走样 117

5.1.4 随机超采样 119

5.2 凹凸贴图 120

5.3 环境映射 123

5.4 OpenGL中的纹理映射 124

5.4.1 加载纹理数据 124

5.4.2 指定纹理坐标 126

5.4.3 颜色调制 126

5.4.4 单独的高光 127

5.4.6 OpenGL中的环境映射 128

5.4.5 管理多个纹理数据 128

第6章 彩色 131

6.1 色彩感知 131

6.2 色彩值的表示 133

6.2.1 加色法和减色法 133

6.2.2 RGB颜色的表示 134

6.2.3 色调、饱和度和亮度 135

第7章 贝塞尔曲线 139

7.1 三次贝塞尔曲线 140

7.2 De Casteljau算法 142

7.3 递归细分算法 143

7.4 分段贝塞尔曲线 146

7.5 Hermite多项式 148

7.6 任意次的贝塞尔曲线 149

7.7 再谈de Casteljau算法 152

7.8 再谈递归细分算法 153

7.9 曲线的升阶 154

7.10 贝塞尔曲面 156

7.10.1 贝塞尔曲面的基本性质 156

7.10.2 贝塞尔曲面片的拼接 158

7.11 OpenGL中的贝塞尔曲线和曲面 160

7.11.1 贝塞尔曲线 160

7.11.2 贝塞尔曲面 162

7.12 有理贝塞尔曲线 163

7.13 用有理贝塞尔曲线表示圆锥曲线段 165

7.14 旋转曲面 169

7.15 使用贝塞尔曲线进行插值 171

7.15.1 Catmull-Rom样条函数 172

7.15.2 Bessel-Overhauset样条函数 173

7.15.3 张力-连续性-偏移样条函数 175

7.16 使用贝塞尔曲面进行插值 177

第8章 B样条曲线 182

8.1 均匀三次B样条 183

8.2 非均匀B样条 186

8.3 非均匀B样条示例 188

8.4 非均匀B样条的性质 193

8.5 de Boor算法 196

8.6 Blossoms算法 199

8.7 B样条曲线的导数和光滑性 202

8.8 节点插值 204

8.9 贝塞尔曲线和B样条曲线 207

8.10 升阶 208

8.11 有理B样条和NURBS曲面 209

8.12 OpenGL中的B样条和NURBS曲面 211

8.13 B样条插值 211

第9章 光线跟踪 214

9.1 光线跟踪基础 215

9.1.1 局部光照和反射光线 219

9.1.2 透射光线 220

9.1.3 算法整合 223

9.2.1 分布式光线跟踪 225

9.2 高级光线跟踪技术 225

9.2.2 反向光线跟踪 231

9.3 不使用光线跟踪的特殊效果 232

第10章 相交测试 238

10.1 有关射线的快速相交测试 239

10.1.1 射线—球相交 239

10.1.2 射线—平面相交 241

10.1.3 射线—三角形相交 242

10.1.4 射线—凸超多面体相交 244

10.1.5 射线—圆柱体相交 247

10.1.6 射线—二次曲面相交 248

10.1.7 射线—贝塞尔面片相交 248

10.2 相交测试的剪枝算法 249

第11章 辐射度 253

11.1 辐射度方程 255

11.1.1 面片、光照强度和形状因子 255

11.1.2 辐射度算法的高级描述 257

11.2 形状因子的计算 258

11.2.1 光线跟踪方法 259

11.2.2 半立方体法 260

11.3 解辐射度方程 262

11.3.1 迭代方法 262

11.3.2 雅可比(Jacobi)迭代 265

11.3.3 高斯-塞德尔(Gauss-Seidel)迭代 265

11.3.4 射击(shooting)法 266

12.1.1 由传统动画发展而来的技术 268

第12章 动画与运动学 268

12.1 概述 268

12.1.2 计算机动画 270

12.2 动画中的位置 271

12.2.1 渐进:固定目标 271

12.2.2 渐进:移动目标 272

12.3 方向的表示 273

12.3.1 旋转矩阵 274

12.3.2 偏转、倾斜和滚动 274

12.3.3 四元组 276

12.3.4 四元组的理论发展 277

12.3.5 用四元组表示旋转 279

12.3.6 四元组和旋转矩阵的转换 281

12.3.7 四元组的插值 283

12.4 运动学 284

12.4.1 刚性连接体和关节 285

12.4.2 前向运动学 286

12.4.3 反向运动学,问题的提出 288

12.4.4 反向运动学,寻找局部解 290

附录A 数学背景知识 295

A.1 预备知识 295

A.2 向量和向量积 296

A.2.1 R2中的向量 296

A.2.2 R3中的向量 299

A.3 矩阵 300

A.3.1 R3中矩阵和向量的积 301

A.3.3 线性子空间 302

A.3.2 行列式,逆矩阵和伴随矩阵 302

A.4 多元微积分 304

A.4.1 多元函数 304

A.4.2 向量值函数 305

A.4.3 多元向量值函数 305

附录B 光线跟踪软件包 307

B.1 介绍 307

B.2 高层光线跟踪函数 308

B.3 光线跟踪API 311

B.3.1 指定光源 311

B.3.2 定义相机和视窗 312

B.3.4 定义材质 314

B.3.3 按像素阵列工作 314

B.3.5 定义可见物体 315

B.3.6 可见的球 316

B.3.7 可视的三角形和平行四边形 317

B.3.8 可见的椭球 318

B.3.9 可视的圆柱体 318

B.3.10 可视的锥体 320

B.3.11 可视的平行六面体 321

B.3.12 可视的圆环 322

B.3.13 可视的贝塞尔面片 323

B.3.14 纹理映射 325

索引 328