图书介绍

交互式计算机图形学 基到OPENGL的自顶向下方法 第3版PDF|Epub|txt|kindle电子书版本网盘下载

交互式计算机图形学 基到OPENGL的自顶向下方法 第3版
  • EDWARD ANGEL著;吴文国译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:730212390X
  • 出版时间:2006
  • 标注页数:521页
  • 文件大小:141MB
  • 文件页数:545页
  • 主题词:图形软件,OpenGL-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

交互式计算机图形学 基到OPENGL的自顶向下方法 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录1

第1章 图形系统和模型1

1.1 计算机图形学的应用1

1.1.1 信息显示1

1.1.2 设计2

1.1.3 仿真与动画2

1.1.4 用户界面3

1.2 计算机图形系统3

1.2.1 像素与帧缓存4

1.2.2 输出设备4

1.2.3 输入设备6

1.3 图像:物理方法和人工合成方法6

1.3.1 对象与观察者6

1.3.2 光照与图像7

1.3.3 光线跟踪8

1.4 人眼的视觉系统9

1.5 针孔照相机11

1.6 虚拟照相机模型12

1.7 程序员接口13

1.7.1 应用程序开发人员的接口14

1.7.2 笔式绘图仪模型14

1.7.3 三维API函数16

1.7.4 彩图介绍17

1.7.5 建模-绘制模式18

1.8 图形系统的体系结构19

1.8.1 显示处理器19

1.8.2 流水线结构20

1.8.3 变换20

1.8.7 性能特性21

1.8.6 光栅化21

1.8.5 投影21

1.8.4 裁剪21

1.9 小结22

1.10 补充阅读材料22

习题23

第2章 图形学编程25

2.1 Sierpinski镂垫25

2.2 二维应用程序编程26

2.3 OpenGLAPI工具包29

2.3.1 图形函数30

2.3.2 图形流水线和状态机31

2.3.3 OpenGL接口31

2.4 图元与属性32

2.4.1 多边形基本概念33

2.4.2 OpenGL里的多边形类型34

2.4.3 绘制球体35

2.4.4 字符37

2.4.5 曲线和曲面38

2.4.6 属性38

2.5 颜色39

2.5.1 RGB颜色41

2.5.2 索引颜色42

2.5.3 设置颜色属性44

2.6 视图处理44

2.6.1 二维视图44

2.6.2 正交视图45

2.6.3 矩阵模式46

2.7 控制函数47

2.7.1 与Windows操作系统的交互作用47

2.7.2 纵横比和视口48

2.7.3 main()、display()和myinit()函数49

2.8 Sierpinski镂垫程序50

2.7.4 程序结构50

2.9 多边形与递归过程52

2.10 三维Sierpinski镂垫54

2.10.1 使用三维点54

2.10.2 在三维空间里使用多边形55

2.10.3 隐藏面消除56

2.11 小结57

2.12 补充阅读材料58

习题59

第3章 输入与交互62

3.1 交互模式62

3.2 输入设备63

3.2.1 物理输入设备63

3.2.2 逻辑设备65

3.2.4 输入模式66

3.2.3 测量与触发66

3.3 客户-服务器结构67

3.4 显示列表68

3.4.1 显示列表的定义和运行69

3.4.2 字符和显示列表71

3.4.3 GLUT库里的字体73

3.5 事件驱动输入的编程74

3.5.1 使用指向输入设备74

3.5.2 窗口事件76

3.5.3 键盘事件78

3.5.4 显示回调函数和空闲回调函数78

3.5.5 窗口管理79

3.6 菜单79

3.7 拾取80

3.8 一个简单的画图程序 .85

3.9 交互式动画程序89

3.9.1 旋转的正方形90

3.9.2 双缓存91

3.9.3 其他一些缓存问题92

3.10 交互式程序的设计93

3.11 逻辑运算94

3.11.1 绘制可以删除的线段95

3.11.2 异或操作(XOR)和颜色97

3.11.3 光标与覆盖层位平面97

3.12 小结98

3.13 补充阅读材料98

习题99

第4章 几何对象与坐标变换102

4.1 标量、点和矢量102

4.1.1 几何观点102

4.1.3 数学观点:矢量与仿射空间104

4.1.2 与坐标无关的几何对象104

4.1.4 计算机科学的观点105

4.1.5 几何抽象数据类型(ADT)105

4.1.6 直线106

4.1.7 仿射加107

4.1.8 凸性107

4.1.9 点积和叉积108

4.1.10 平面109

4.2 三维图元110

4.3 坐标系与标架111

4.3.1 矢量表示与n元组112

4.3.2 坐标系的变换113

4.3.3 坐标变换的例子114

4.3.4 齐次坐标115

4.3.5 标架变换的例子117

4.3.7 标架系统与抽象数据类型119

4.3.6 表示矩阵的运算处理119

4.3.8 OpenGL里的标架系统121

4.4 建立一个彩色立方体模型123

4.4.1 一个立方体模型123

4.4.2 内侧面与外侧面124

4.4.3 对象表示的数据结构124

4.4.4 彩色立方体125

4.4.5 双线性插值126

4.4.6 顶点数组127

4.5 仿射变换128

4.6 平移、旋转和缩放130

4.6.1 平移变换130

4.6.2 旋转变换131

4.6.3 缩放变换132

4.7.1 平移133

4.7 齐次坐标表示的变换公式133

4.7.2 缩放134

4.7.3 旋转134

4.7.4 剪切变换135

4.8 变换的串乘运算136

4.8.1 绕某一固定点的旋转137

4.8.2 一般的旋转变换138

4.8.3 实例变换139

4.8.4 绕任一轴旋转140

4.9 OpenGL中的变换矩阵142

4.9.1 当前变换矩阵142

4.9.2 旋转、平移和缩放143

4.9.3 在OpenGL中绕固定点旋转144

4.9.4 变换次序144

4.9.5 立方体的旋转145

4.10 三维应用程序的交互方式146

4.9.6 矩阵的装载、压栈和弹栈操作146

4.10.1 利用屏幕区域147

4.10.2 一个虚拟跟踪球147

4.10.3 平滑旋转149

4.10.4 递增式旋转149

4.11 四元数150

4.11.1 复数与四元数150

4.11.2 四元数与旋转151

4.12 小结152

4.13 补充阅读材料153

习题153

第5章 视图155

5.1 经典视图和计算视图155

5.1.1 经典视图156

5.1.3 轴测法投影157

5.1.2 正则投影157

5.1.4 斜投影158

5.1.5 透视图158

5.2 计算机视图159

5.3 照相机定位160

5.3.1 照相机标架定位160

5.3.2 两个处理视图的API工具包164

5.3.3 Look-At函数166

5.3.4 其他视图API工具包167

5.4 简单投影168

5.4.1 透视投影168

5.4.2 正交投影170

5.5 OpenGL的投影视图171

5.5.1 OpenGL的透视投影172

5.5.2 OpenGL平行视图173

5.6 隐藏面消除174

5.7 在场景中漫游175

5.8 平行投影矩阵177

5.8.1 投影正则化177

5.8.2 正交投影矩阵178

5.8.3 斜投影179

5.9 透视投影矩阵181

5.9.1 透视正则化182

5.9.2 OpenGL的透视变换184

5.10 投影与阴影185

5.11 小结187

5.12 补充阅读材料188

习题188

第6章 明暗处理190

6.1 光与材质190

6.2.1 彩色光源192

6.2 光源192

6.2.2 环境光193

6.2.3 点光源193

6.2.4 聚光灯194

6.2.5 远距离光源194

6.3 Phong反射模型195

6.3.1 环境反射196

6.3.2 漫反射196

6.3.3 镜面反射光197

6.4 矢量计算199

6.4.1 法向矢量199

6.4.2 反射角度201

6.4.3 利用中值矢量202

6.4.4 折射光202

6.5 多边形的明暗处理203

6.5.1 平面明暗处理204

6.5.2 插值和Gouraud明暗处理方法205

6.5.3 Phong明暗处理方法206

6.6 球面的递归细分逼近206

6.7 OpenGL中的光源209

6.8 OpenGL里的材质说明211

6.9 球体模型的明暗处理213

6.10 全局绘制214

6.11 小结215

6.12 补充阅读材料216

习题216

第7章 离散技术218

7.1 缓存218

7.2 数字图像219

7.3 缓存写操作221

7.3.1 写入模式222

7.4 OpenGL里的位运算和像素运算223

7.3.2 异或写入模式223

7.4.1 OpenGL的缓存和像素管道224

7.4.2 位图225

7.4.3 光栅字体225

7.4.4 像素与图像226

7.4.5 查找表227

7.4.6 用于拾取的缓存228

7.5 映射方法228

7.6 纹理映射229

7.6.1 二维纹理映射230

7.6.2 OpenGL里的纹理映射234

7.6.3 纹理对象239

7.6.4 多纹理通道239

7.6.5 创建纹理对象239

7.7 环境贴图240

7.8 凹凸贴图242

7.9.1 不透明性与融合243

7.9 图像合成技术243

7.9.2 图像合成244

7.9.3 OpenGL里的融合与合成244

7.9.4 反走样245

7.9.5 从后至前和从前至后的绘制过程246

7.9.6 景深提示和雾效果247

7.10 多通道绘制与累积缓存248

7.10.1 场景反走样248

7.10.2 凹凸贴图和浮雕效果248

7.10.3 图像处理249

7.10.4 OpenGL的图像处理扩展集250

7.10.5 其他多通道方法250

7.11 采样与走样251

7.11.1 采样理论251

7.11.2 重构254

7.11.3 量化255

7.12 小结256

7.13 补充阅读材料256

习题257

第8章 渲染器的实现259

8.1 实现的基本策略259

8.2 实现过程的4个主要任务260

8.2.1 建模261

8.2.2 几何处理261

8.2.3 光栅化262

8.2.4 显示262

8.3 变换的实现262

8.4 线段裁剪264

8.4.1 Cohen-Sutherland裁剪算法264

8.4.2 Liang-Barsky裁剪算法266

8.5 多边形裁剪267

8.6 其他图元的裁剪269

8.6.1 包围盒和包围体270

8.6.2 曲线、曲面和字符270

8.6.3 帧缓存里的裁剪操作271

8.7 三维裁剪271

8.8 隐藏面消除273

8.8.1 景物空间和图像空间273

8.8.2 排序与隐藏面消除275

8.8.3 背面剔除275

8.8.4 z-buffer算法275

8.8.5 深度排序和画家算法277

8.8.6 扫描线算法279

8.9 扫描转换279

8.10 Bresenham算法281

8.11 多边形的扫描转换283

8.11.1 内外测试法283

8.11.2 OpenGL与凹多边形284

8.11.3 带z-buffer算法的扫描转换285

8.11.4 填充与排序286

8.11.5 种子填充算法286

8.11.6 扫描线填充算法287

8.11.7 奇异性287

8.12 反走样288

8.13 显示器因素289

8.13.1 颜色系统290

8.13.2 颜色矩阵292

8.13.3 γ校正292

8.13.4 抖动技术与半色调技术293

8.14 小结293

8.15 补充阅读材料294

习题295

9.1 图符与实例297

第9章 层级结构和面向对象的建模方法297

9.2 层级模型298

9.3 一个机器人手臂300

9.4 树与树的遍历302

9.5 树形数据结构的用途305

9.6 动画308

9.7 图形对象309

9.7.1 方法、属性和消息309

9.7.2 一个立方体对象310

9.7.3 实现立方体对象312

9.7.4 对象与层级结构312

9.7.5 几何对象313

9.8 场景图314

9.9 一个简单场景图的API315

9.9.1 结点类316

9.9.2 几何结点317

9.9.3 照相机类319

9.9.4 光源和材质320

9.9.5 变换类321

9.9.6 机器人类322

9.9.7 实现观察者类324

9.9.8 实现结点类327

9.10 其他的树形结构330

9.10.1 CSG树330

9.10.2 明暗处理树332

9.10.3 BSP树332

9.10.4 四叉树和八叉树334

9.11 图形与万维网335

9.11.1 网络与协议335

9.11.2 超媒体与HTML语言336

9.11.4 Java与Applets337

9.11.3 数据库与VRML337

9.12 小结338

9.13 补充阅读材料338

习题339

第10章 曲线与曲面340

10.1 曲线和曲面的表示方法340

10.1.1 显式表示法340

10.1.2 隐式表示341

10.1.3 参数形式342

10.1.4 参数多项式曲线343

10.1.5 参数多项式曲面344

10.2 设计准则345

10.3 三次多项式参数曲线346

10.4 插值347

10.4.1 调和函数348

10.4.2 三次插值面片349

10.5 Hermite曲线和曲面351

10.5.1 Hermite形式351

10.5.2 几何连续和参数连续353

10.6 Bezier曲线和曲面354

10.6.1 Bezier曲线354

10.6.2 Bezier曲面面片356

10.7 三次B-样条356

10.7.1 三次B-样条曲线357

10.7.2 B-样条与基函数359

10.7.3 样条曲面360

10.8 一般的B样条函数360

10.8.1 B-样条的递归定义361

10.8.2 均匀样条362

10.8.3 非均匀B-样条362

10.8.4 NURBS362

10.9.1 多项式求解方法363

10.9 曲线和曲面的绘制363

10.9.2 Bezier多项式的递归细分364

10.9.3 其他多项式曲线的细分绘制366

10.9.4 Bezier曲面的细分367

10.10 犹他大学茶壶模型368

10.11 代数曲面370

10.11.1 二次曲面370

10.11.2 曲面的光线跟踪方法绘制370

10.11.3 曲线与曲面的细分371

10.12 OpenGL里的曲线与曲面373

10.12.1 Bezier曲线373

10.12.2 Bezier曲面374

10.12.3 茶壶显示375

10.12.4 NURBS函数376

10.13 小结377

10.14 补充阅读材料377

10.12.5 二次曲面377

习题378

第11章 过程建模方法379

11.1 使用过程建模的理由379

11.2 基于物理模型和粒子系统380

11.3 牛顿粒子381

11.3.1 独立粒子382

11.3.2 弹簧力382

11.3.3 吸引力与排斥力383

11.4 求解粒子系统384

11.5 约束386

11.5.1 碰撞386

11.5.2 球体内的粒子388

11.5.3 软约束389

11.6 基于语言的模型389

11.7.1 标尺与长度392

11.7 递归方法与分形几何392

11.7.2 分形维数393

11.7.3 中点分割与布朗运动394

11.7.4 分形山体395

11.8 Mandelbrot集合396

11.9 小结398

11.10 补充阅读材料398

习题399

第12章 可视化400

12.1 数据+几何400

12.2 高度场和等高线400

12.2.1 网格401

12.2.2 等高线图403

12.2.3 Marching Squares403

12.3 表面和标量场的可视化408

12.3.1 体数据集409

12.3.2 隐函数的可视化410

12.4 等值面和Marching Cubes411

12.5 网格简化413

12.6 直接体绘制414

12.6.1 颜色和不透明度赋值414

12.6.2 溅射法415

12.6.3 体光线跟踪法416

12.6.4 体的纹理映射417

12.7 向量场可视化417

12.7.1 Hedgehog法417

12.7.2 图示符418

12.7.3 颜色419

12.7.4 粒子轨迹和流线420

12.8 张量可视化421

习题422

12.9 小结422

12.10 补充阅读材料422

第13章 高级绘制方法424

13.1 流水线绘制技术不能解决的问题424

13.2 光线跟踪425

13.3 建立一个简单的光线跟踪器427

13.3.1 光线跟踪的递归过程427

13.3.2 交点计算428

13.3.3 光线跟踪的变异形式430

13.4 绘制方程431

13.5 辐射度432

13.5.1 辐射度方程432

13.5.2 求解辐射度方程433

13.5.3 计算形状因子434

13.5.4 实现辐射度算法436

13.7 大规模场景绘制437

13.6 RenderMan437

13.7.1 中排序绘制法438

13.7.2 后排序绘制法439

13.7.3 先排序绘制法441

13.8 基于图像的绘制442

13.9 小结443

13.10 补充阅读材料444

习题444

附录A 实例程序446

A.1 Sierpinski镂垫程序447

A.2 生成Sierpinski镂垫的递归程序448

A.3 生成三维Sierpinski镂垫程序450

A.4 生成三维Sierpinski镂垫的递归程序452

A.5 生成正方形程序454

A.6 画图程序457

A.7 介绍双缓存使用的程序464

A.8 用选择模式实现拾取功能程序466

A.9 立方体旋转程序469

A.10 利用顶点数组旋转立方体程序472

A.11 用虚拟跟踪球实现立方体旋转程序474

A.12 观察者漫游程序478

A.13 球体的细分逼近程序481

A.14 像素读写程序485

A.15 带纹理立方体的旋转程序486

A.16 场景图形程序实例490

A.17 画Bezier曲线程序495

附录B 空间501

B.1 标量501

B.2 向量空间501

B.3 仿射空间503

B.4 欧几里德空间504

B.5 投影505

B.6 格莱姆—施密特正交化505

B.7 补充阅读材料506

习题506

附录C 矩阵507

C.1 定义507

C.2 矩阵运算507

C.3 行矩阵和列矩阵508

C.4 秩509

C.5 不同表示之间的转换510

C.6 叉乘运算511

C.7 特征值和特征向量511

C.8 补充阅读材料512

习题512

参考文献514

热门推荐