《计算机图形学 第2版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)Donald Hearn,(美)M.Pauline Baker著;蔡士杰等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2002
  • ISBN:7505375938
  • 页数:499 页
图书介绍:本书是一本内容丰富、取材新颖的计算机图形学著作,并在其第一版的基础上进行了全面扩充,增加了许多新的内容,覆盖了近年来计算机图形学的最新发展和成就。全书层次分明、重点突出,附有大量的程序及插图,将会使读者受益匪浅。全书共分为16章。首先对计算机图形学进行综述,然后讲解了二维图形的对象表示、算法及应用,三维图形技术、建模和变换等等,还介绍了光照模型、颜色模型和动画技术。最后的附录给出了计算机图形学中用到的基本数学概念。本书可以作为本科生和研究生的教材或参考书,也可以作为计算机图形学技术人员的参考资料。

第1章 计算机图形学综述 1

1.1 计算机辅助设计 1

1.2 图示图形学 4

1.3 计算机艺术 6

1.4 娱乐 8

1.5 教学与培训 9

1.6 可视化 12

1.7 图像处理 16

1.8 图形用户界面 17

第2章 图形系统综述 18

2.1 视频显示设备 18

2.1.1 刷新式CRT 18

2.1.2 光栅扫描显示器 21

2.1.3 随机扫描显示器 22

2.1.4 彩色CRT监视器 23

2.1.5 直视存储管 25

2.1.6 平板显示器 25

2.1.7 三维观察设备 27

2.1.8 立体感和虚拟现实系统 29

2.2 光栅扫描系统 29

2.2.1 视频控制器 29

2.2.2 光栅扫描显示处理器 31

2.3 随机扫描系统 32

2.4 图形监视器与工作站 33

2.5 输入设备 35

2.5.1 键盘 35

2.5.4 操纵杆 37

2.5.2 鼠标 37

2.5.3 跟踪球和空间球 37

2.5.5 数据手套 38

2.5.6 数字化仪 39

2.5.7 图像扫描仪 40

2.5.8 触摸板 41

2.5.9 光笔 42

2.5.10 声音系统 43

2.6 硬拷贝设备 44

2.7 图形软件 46

2.7.1 坐标表示 46

2.7.2 图形功能 47

2.7.3 软件标准 48

小结 49

2.7.4 PHIGS工作站 49

参考文献 50

练习题 50

第3章 输出图元 52

3.1 点和线 52

3.2 画线算法 53

3.2.1 DDA算法 54

3.2.2 Bresenham画线算法 56

3.2.3 并行画线算法 59

3.3 帧缓冲器的装载 61

3.4 画线函数 62

3.5 圆生成算法 63

3.5.1 圆的特性 63

3.5.2 中点圆算法 64

3.6 椭圆生成算法 68

3.6.1 椭圆的特征 68

3.6.2 中点椭圆算法 70

3.7 其他曲线 76

3.7.1 圆锥曲线 76

3.7.2 多项式和样条曲线 78

3.8 并行曲线算法 78

3.9 曲线函数 79

3.10 像素编址和物体的几何表示 80

3.10.1 屏幕网格坐标 80

3.10.2 保留显示的物体的几何特性 81

3.11 填充区域图元 82

3.11.1 扫描线多边形填充算法 83

3.11.2 内-外测试 90

3.11.3 曲线边界区域的扫描线填充 91

3.11.4 边界填充算法 91

3.11.5 泛滥填充算法 94

3.12 区域填充函数 95

3.13 单元阵列 95

3.14 字符生成 96

小结 98

参考文献 104

练习题 104

第4章 输出图元的属性 107

4.1 线属性 107

4.1.1 线型 107

4.1.2 线宽 109

4.1.3 画笔或笔刷的选择 111

4.1.4 线颜色 112

4.2 曲线属性 113

4.3 颜色和亮度等级 115

4.3.1 颜色表 116

4.3.2 灰度等级 117

4.4 区域填充属性 118

4.4.1 填充模式 118

4.4.2 图案填充 119

4.4.3 软填充 122

4.5 字符属性 123

4.5.1 文本属性 123

4.5.2 标记属性 127

4.6.1 线的束属性 128

4.6 束属性 128

4.6.2 区域填充束属性 129

4.6.3 文本的束属性 129

4.6.4 标记的束属性 129

4.7 查询函数 130

4.8 反走样 130

4.8.1 直线段的过取样 131

4.8.2 加权的像素掩模 132

4.8.3 直线段的区域取样 133

4.8.4 过滤技术 133

4.8.5 像素移相 134

4.8.6 直线亮度差的校正 134

4.8.7 对区域边界进行反走样 134

小结 137

练习题 138

参考文献 138

第5章 二维几何变换 141

5.1 基本变换 141

5.1.1 平移 141

5.1.2 旋转 142

5.1.3 缩放 144

5.2 矩阵表达式和齐次坐标 145

5.3 复合变换 147

5.3.1 平移 147

5.3.3 缩放 148

5.3.4 通用基准点旋转 148

5.3.2 旋转 148

5.3.5 通用固定点缩放 149

5.3.6 通用定向缩放 150

5.3.7 连接特性 150

5.3.8 通用复合变换和计算效率 151

5.4 其他变换 155

5.4.1 反射 156

5.4.2 错切 159

5.5 坐标系间的变换 160

5.6 仿射变换 162

5.7 变换函数 163

5.8 变换的光栅方法 164

小结 166

练习题 167

参考文献 167

第6章 二维观察 169

6.1 观察流程 169

6.2 观察参照坐标系 171

6.3 窗口到视口的坐标变换 171

6.4 二维观察函数 173

6.5 裁剪操作 174

6.6 点的裁剪 175

6.7 线段的裁剪 175

6.7.1 Cohen-Sutherland线段裁剪算法 176

6.7.2 梁友栋-Barsky线段裁剪算法 180

6.7.3 Nicholl-Lee-Nicholl线段裁剪算法 182

6.7.5 划分凹多边形 184

6.7.4 非矩形裁剪窗口的线段裁剪 184

6.8 多边形的裁剪 186

6.8.1 Sutherland-Hodgeman多边形裁剪 186

6.8.2 Weiler-Atherton算法 190

6.8.3 其他多边形的裁剪算法 191

6.9 曲线的裁剪 192

6.10 文字的裁剪 192

6.11 外部裁剪 193

小结 194

参考文献 196

练习题 196

第7章 结构和层次建模 198

7.1 结构的概念 198

7.1.1 基本结构函数 198

7.1.2 设置结构属性 199

7.2 编辑结构 200

7.2.2 设置编辑模式 201

7.2.1 结构表和元素指针 201

7.2.3 插入结构元素 202

7.2.4 替代结构元素 202

7.2.5 删除结构元素 203

7.2.6 标识结构元素 204

7.2.7 从一个结构中将元素复制到另一个结构 205

7.3 基本建模概念 205

7.3.1 模型表示 206

7.3.2 符号层次 207

7.3.3 建模软件包 208

7.4 使用结构来建立层次式模型 208

7.4.1 局部坐标和建模变换 208

7.4.3 结构层次 209

7.4.2 模型变换 209

小结 211

参考文献 211

练习题 211

第8章 图形用户界面和交互输入方法 213

8.1 用户对话 213

8.1.1 窗口和图符 213

8.1.2 适应多种熟练程度的用户 214

8.1.3 一致性 214

8.1.4 减少记忆量 214

8.1.5 回退和出错处理 215

8.1.6 反馈 215

8.2.2 定位设备 216

8.2 图形数据的输入 216

8.2.1 输入设备的逻辑分类 216

8.2.3 笔划设备 217

8.2.4 字符串设备 217

8.2.5 定值设备 217

8.2.6 选择设备 218

8.2.7 拾取设备 219

8.3 输入功能 220

8.3.1 输入模式 220

8.3.2 请求模式 221

8.3.3 请求模式下的定位和笔划输入 221

8.3.7 请求模式下的拾取输入 222

8.3.6 请求模式下的选择输入 222

8.3.5 请求模式下的定值输入 222

8.3.4 请求模式下的字符串输入 222

8.3.8 取样模式 223

8.3.9 事件模式 223

8.3.10 输入模式的并行使用 225

8.4 输入设备参数的初值 225

8.5 交互式构图技术 226

8.5.1 基本的定位方法 226

8.5.2 约束 226

8.5.3 网格 227

8.5.4 引力场 228

8.5.5 橡皮条方法 228

8.5.6 拖曳 228

8.6 虚拟现实环境 229

8.5.7 着色和绘图 229

小结 230

参考文献 231

练习题 231

第9章 三维概念 233

9.1 三维显示方法 233

9.1.1 平行投影 233

9.1.2 透视投影 234

9.1.3 深度提示 234

9.1.4 可见线面的标识 234

9.1.7 三维和立体视图 235

9.2 三维图形软件包 235

9.1.6 分解图和剖面图 235

9.1.5 表面绘制 235

第10章 三维物体的表示 237

10.1 多边形表面 237

10.1.1 多边形表 237

10.1.2 平面方程 239

10.1.3 边多形网格 241

10.2 曲线和曲面 241

10.3 二次曲面 242

10.3.1 球面 242

10.3.2 椭球面 243

10.3.3 环面 243

10.4 超二次曲面 244

10.4.1 超椭圆 244

10.4.2 超椭球面 244

10.5 柔性物体 245

10.6.1 插值和逼近样条 247

10.6 样条表示 247

10.6.2 参数连续性条件 249

10.6.3 几何连续性条件 250

10.6.4 样条描述 250

10.7 三次样条插值方法 251

10.7.1 自然三次样条 252

10.7.2 Hermite插值 252

10.7.3 Cardinal样条 255

10.7.4 Kochanek-Bartels样条 257

10.8 Bézier曲线和曲面 257

10.8.1 Bézier曲线 257

10.8.3 使用Bézier曲线的设计技术 260

10.8.2 Bézier曲线的特性 260

10.8.4 三次Bézier曲线 261

10.8.5 Bézier曲面 263

10.9 B-样条曲线和曲面 264

10.9.1 B-样条曲线 264

10.9.2 均匀的周期性B-样条曲线 266

10.9.3 三次周期性B-样条曲线 268

10.9.4 开放均匀的B-样条曲线 270

10.9.5 非均匀B-样条曲线 271

10.9.6 B-样条曲面 272

10.10 beta-样条 273

10.10.1 beta-样条连续性条件 273

10.10.2 三次周期性beta-样条曲线的矩阵表示 274

10.11 有理样条 275

10.12 两种样条表达式间的转换 277

10.13 样条曲线和曲面的显示 278

10.13.1 Homer规则 278

10.13.2 向前差分计算 279

10.13.3 细分方法 280

10.14 扫描表示 282

10.15 结构实体几何法 283

10.16 八叉树 285

10.17 BSP树 287

10.18 分形几何方法 288

10.18.2 分形分类 289

10.18.3 分形的维数 289

10.18.1 分形生成过程 289

10.18.4 确定性自相似分形几何构造 291

10.18.5 统计自相似分形的几何构造 293

10.18.6 仿射分形构造方法 294

10.18.7 随机中点位移方法 295

10.18.8 地面图控制 297

10.18.9 自平方分形 298

10.18.10 自逆分形 304

10.19 形状语法和其他过程性方法 305

10.20 微粒系统 306

10.21 基于物理的建模 307

10.22 数据集的可视化 308

10.22.1 标量场的可视化表示 308

10.22.3 张量场的可视表示 311

10.22.2 向量场的可视表示 311

10.22.4 多变量数据场的可视表示 312

小结 312

参考文献 312

练习题 313

第11章 三维几何和建模变换 315

11.1 平移 315

11.2 旋转 316

11.2.1 坐标轴旋转 316

11.2.2 一般三维旋转 319

11.2.3 四元数旋转 324

11.3 缩放 326

11.4.1 反射 327

11.4 其他变换 327

11.4.2 错切 328

11.5 复合变换 328

11.6 三维变换函数 331

11.7 建模变换和坐标变换 332

小结 333

参考文献 334

练习题 334

第12章 三维观察 336

12.1 观察流水线 336

12.2 观察坐标 337

12.2.1 指定观察平面 337

12.2.2 从世界坐标到观察坐标的变换 339

12.3 投影 342

12.3.1 平行投影 342

12.3.2 透视投影 346

12.4 观察体和一般投影变换 348

12.4.1 一般平行投影变换 352

12.4.2 一般透视投影变换 355

12.5 裁剪 357

12.5.1 规范化观察体 358

12.5.2 视口裁剪 360

12.5.3 齐次坐标裁剪 361

12.6 硬件实现 362

12.7 三维观察函数 363

小结 365

参考文献 365

练习题 365

13.2 后向面判别 367

第13章 可见面判别算法 367

13.1 可见面判别算法的分类 367

13.3 深度缓冲器算法 368

13.4 A缓冲器算法 371

13.5 扫描线算法 372

13.6 深度排序算法 373

13.7 BSP树算法 376

13.8 区域细分算法 376

13.9 八叉树算法 378

13.10 光线投射算法 381

13.11 曲面 382

13.11.2 曲面的层位线显示 383

13.12 线框算法 383

13.11.1 曲面表示 383

13.13 可见性判别函数 384

小结 384

参考文献 385

练习题 385

第14章 光照模型与面绘制算法 387

14.1 光源 387

14.2 基本光照模型 389

14.2.1 环境光 389

14.2.2 漫反射 389

14.2.3 镜面反射和Phong模型 392

14.2.4 多光源漫反射和镜面反射的合并 395

14.2.5 Wam模型 395

14.2.7 颜色 396

14.2.6 强度衰减 396

14.2.8 透明度 397

14.2.9 阴影 399

14.3 光强度显示 400

14.3.1 分配强度等级 400

14.3.2 gamma校正与视频查找表 401

14.3.3 显示连续色调的图像 402

14.4 半色调模式和抖动技术 402

14.4.1 半色调近似 403

14.4.2 抖动技术 406

14.5 多边形绘制算法 409

14.5.1 恒定光强度的明暗处理 409

14.5.2 Gouraud明暗处理 409

14.5.3 Phong明暗处理 411

14.5.4 快速Phong明暗处理 412

14.6 光线跟踪算法 413

14.6.1 基本光线跟踪算法 413

14.6.2 光线与物体表面的求交计算 416

14.6.3 减少物体求交的计算量 419

14.6.4 空间分割方法 419

14.6.5 光线跟踪反走样 421

14.6.6 分布式光线跟踪 423

14.7 辐射度光照模型 425

14.7.1 基本辐射度模型 425

14.7.2 逐步求精的辐射度方法 428

14.8 环境映射 430

14.9.2 纹理映射 431

14.9.1 用多边形模拟表面细节 431

14.9 添加表面细节 431

14.9.3 过程式纹理映射方法 434

14.9.4 凹凸映射 434

14.9.5 帧映射 436

小结 436

参考文献 437

练习题 437

第15章 颜色模型和颜色应用 440

15.1 光的特性 440

15.2 标准基色和色彩图 442

15.2.1 XYZ颜色模型 442

15.2.2 CIE色度图 443

15.4 RGB颜色模型 445

15.3 直观的颜色概念 445

15.5 YIQ颜色模型 447

15.6 CMY颜色模型 447

15.7 HSV颜色模型 448

15.8 HSV和RGB模型之间的转换 450

15.9 HLS颜色模型 452

15.10 颜色选择及其应用 453

小结 453

参考文献 453

练习题 454

第16章 计算机动画 455

16.1 动画序列的设计 455

16.4 计算机动画语言 456

16.3 光栅动画 456

16.2 通用计算机动画功能 456

16.5 关键帧系统 457

16.5.1 变形 458

16.5.2 模拟加速度 460

16.6 运动的描述 463

16.6.1 直接运动描述 463

16.6.2 目标导向系统 463

16.6.3 运动学和动力学 464

小结 464

参考文献 465

练习题 465

附录A 计算机图形学的数学基础 466

参考文献 488