基本信息
- 原书名:3D Computer Graphics
- 原出版社: Cambridge University Press
- 作者: (美)Samuel R.Buss
- 译者: 唐龙 等
- 丛书名: 世界著名计算机教材精选
- 出版社:清华大学出版社
- ISBN:7302136041
- 上架时间:2006-9-27
- 出版日期:2006 年9月
- 开本:185×260
- 页码:337
- 版次:1-1
- 所属分类:计算机 > 图形图像、多媒体、网页制作 > OpenGL
计算机 > 计算机科学理论与基础知识 > 图形学
教材 > 研究生/本科/专科教材 > 工学 > 计算机
教材 > 计算机教材 > 本科/研究生 > 计算机本科其他类教材
教材 > 教材汇编分册 > 高等理工
内容简介
计算机书籍
本书介绍三维的计算机图形学,特别强调基本原理和计算机图形学中数学。它包含有描述如何使用跨OpenGL平台的编程环境,还含有光线跟踪软件包的源代码(相应的软件可从本书的网站免费下载)。.
本书内容涉及全面处理变换和视图,光照和明暗模型,插值与均值,贝塞尔曲线和B样条曲线,射线追踪和辐射,射线交点测试,也涉及不包含深度的纹理映射和色彩理论。本书还涵盖动画片制作,包括四元组、定向以及逆向运动学。在附录中复习矢量和矩阵方面数学知识。..
本书读者对象是高年级大学生或低年级研究生,也可自学。需要具有计算和矢量的基本知识。OpenGL编程部分要求C或C++编程知识。本书涉及OpenGL的一些重要特性,可以与其他OpenGL编程的书联合使用。...
作译者
目录
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
序言
计算机图形学在非娱乐方面也有重要应用。例如,在学习训练中经常使用虚拟现实系统。对于科学计算可视化和计算机辅助设计(CAD),计算机图形学是一种不可缺少的工具。我们需要有很好的方法,以便直观地显示大量数据集和大规模的科学仿真结果。
自从计算机出现以来,20世纪60年代初就开始热起来的计算机图形学的艺术和科学已经很有进展。计算机图形学发展成一个丰富多彩,深奥且有吸引力的领域。本书的目的瞄准计算机图形学的数学基础,并用OpenGL编程做具体介绍。我深信对于计算机图形学的任何一种高级应用,懂得数学的基础知识都是很重要的。为此,本书试图做到完全覆盖计算机图形学的基础数学知识。此原则指导着本书的选材,选用对计算机图形学的从业者,尤其是对软件开发有实际重要意义的话题。我希望本书对用在该领域的标准工具,尤其是对这些工具背后的数学理论,做全面的介绍。
关于本书
本书计划的形成是依据我作为一个数学学术研究者的个人经验和在多个应用计算机项目,包括计算机游戏和虚拟现实等项目的实践。当我在San Digo加州大学(UCSD)给一个数学班讲授计算机图形学和几何时,就开始写本书。构成该课程的内容包括介绍用OpenGL编写三维图形学程序和计算机图形学的数学基础知识。在教授这门课程中,我确信需要这样一本书,来介绍计算机图形学的基础数学理论。
写此书的另一动力是我涉及一些虚拟现实和计算机游戏的项目。本书中所包含的许多话题作为主要内容提出,其原因是我发现它们常用在计算机游戏应用程序中。当前计算机游戏和虚拟现实应用程序是技术上要求很多的软件项目:这些应用程序要求软件能够显示令人信服的三维环境。通常,应用程序必须保持跟上多个目标的运动;维持住主要目标的有关光照,色彩和纹理等信息;并在屏幕上以每秒30或60帧显示。此外,需要相当高的艺术性和创造性的技巧来做成为一种适宜的三维环境。毫不奇怪,这要求由大量程序员、艺术家和设计师进行成熟的软件开发。
3D计算机图形学要求很宽广的数学,这或许有点令人感到惊讶。然而,这是客观存在的事实。而且,数学趋向于高雅和跨学科。计算机图形学需用数学知识使来自各个领域的构造和方法组成在一起。这些领域包括:几何学、计算方法、线性代数、数值分析、抽象代数、数据结构和算法。实际上,计算机图形学是数学的组合性和优雅性应用的最好佐证。
本书呈现了应用和理论主题的结合。在更多的地方,我建议采用OpenGL,它是一种对3D图形非常有用的、自由的、跨平台的编程环境。本书给出了可以免费因特网下载的OpenGL程序的C和C++代码,并介绍OpenGL如何实现本书所讨论的许多数学概念。本书还描述了一个光线追踪软件包;该软件包也可以从因特网络下载。在理论方面,本书强调计算机图形学的数学基础,远超过我所见到的任何其他教材。对于有可能使用的诸如OpenGL或Direct3D这类工具,或者稍微扩展,CAD程序,我深信计算机图形学的数学基础知识都是相当重要的。
在本书中,所选择数学主题依据是它们对于图形学的重要性和相关性。当然,如果对计算机图形学很关键的概念,例如,等轴测坐标的投影几何表示,我会毫不犹豫地介绍。如果你要正确地使用计算机图形软件技术,良好的数学知识使无价的,如果你要开发新的或有创造性的使用计算机图形学,很好数学知识就更重要。
如何使用本书
本书侧重于作为教科书,作为自学的材料或是参考资料使用。特别强调建议你试运随本书提供的程序,写一些你自己的OpenGL程序。请注意,本书最好与一本介绍用OpenGL编程的书联系一起读。OpenGL Programming Guide(Woo et al., 1999)是学习OpenGL的好资料,有时也称该书为红皮书(“red book”)。如果你是初次学习OpenGL,OpenGL Programming Guide也许是有点令人气馁。若是如此,OpenGL SuperBible(wright Jr., 1999)介绍OpenGL所需的数学知识更少些。另一本书OpenGL A Primer(Angel, 1999)也对OpenGL进行了很好的综述。本书的概要如下所述。按覆盖一个课程所需材料多少来安排章节。当然不需要依次读这些材料。实际上,除了第8章依赖于第7章之外,较后面的章节可以大量地单独地阅读。
第1章引言,介绍计算机图形学的基本概念;绘制点、线和多边形;以多边形来造型;动画;OpenGL编程入门。
第2章变换与视图,讨论绘制流水线,线性和仿射变换,二维和三维矩阵,平移和旋转,homogeneous坐标,在OpenGL中的变换,正交视图和透视变换,投影几何,像素化,Gouraud和扫描线插值,Bresenham 算法。
第3章光照、亮度和着色,发表Phong光照模型;周围环境光,漫反射和镜面反射;在OpenGL中的光照和物质属性;CookTorrance光照模型。
第4章均值与插值,提出线性插值;重心坐标,双线性插值,凸面,双曲线插值,球面的线性插值。这是较多数学的一章,带有在本书其他地方用到的许多工具。在初次读时,你也许希望跳过本章好多地方,当需要时再回来读。
第5章纹理映射,讨论纹理和纹理坐标,映射,超采样和颤动,撞击映射,环境映射,以及OpenGL中的纹理映射。
第6章色彩,色彩感知的发表,加和减色彩,RGB和HSL色彩的表达。
第7章贝塞尔曲线,三阶和通用阶次的贝塞尔曲线;De Casteljau 方法;细分;分段贝塞尔曲线;Hermite 多项式;贝塞尔曲面片;OpenGL中的贝塞尔曲线;有理贝塞尔曲线;圆锥曲线段,阶次的提高;CatmullRom, BesselOverhauser插值,紧张连续性斜偏的样条;贝塞尔曲面插入。
第8章B样条曲线,描述规则的和不规则的B样条及其特性,OpenGL中的B样条,de Boor 算法,Blossoms,平滑特性,有理的B样条(NURBS),圆锥形截面,结点插入,贝塞尔曲线的关系,以及用B样条曲线插入。本章混合有介绍性话题和较专业化话题。我们给全部证明,但建议在初次读时跳过这些证明。
第9章光线跟踪,提出递归光线跟踪、反射和透射,分布式光线跟踪,逆向光线跟踪,还有逃离以及避免光线跟踪的技巧。