计算机图形学的算法基础(原书第2版)[按需印刷]
基本信息
内容简介回到顶部↑
本书从图形学最基础的光栅扫描、区域填充、画直线和圆弧等算法讲起,详细介绍了线裁剪和面裁剪、凸区域裁剪和凹区域裁剪的异同,景物空间消隐算法和图像空间消隐算法的差别,具体讲述了二叉空间剖分(BSP)、八叉树等图形学中常用的数据结构。新版本增加了图形用户界面、椭圆、图像压缩和线条反走样算法等,还增加了Liang-Barsky裁剪算法和Nicholl-Lee-Nicholl裁剪算法。新版本大大扩充了可见面光线跟踪算法。在绘制这一章中新增了基于物理的光照明模型,透明效果,阴影生成,纹理映射,以及锥光束、平面光束、笔形光束和随机光线跟踪算法;详细讨论了光辐射度基础,统一颜色空间,彩色图象量化和印刷介质上的颜色重现等新内容。本书列举了90个例子,具体描述了各类算法的执行细节。这对初学者体会算法的基本原理,比较各类算法执行时的细微差别大有禅益。具备大学数学基础和高级程序设计语言知识的人均可自学本书。
本书适合专业程序员、工程师及科研人员使用。非常适用于作为为高年级本科生和一年级研究生开设的重点讲授绘制技术的计算机图形学课程的教科书。
本书适合专业程序员、工程师及科研人员使用。非常适用于作为为高年级本科生和一年级研究生开设的重点讲授绘制技术的计算机图形学课程的教科书。
目录回到顶部↑
第1版序
第1章 计算机图形学导论 1
1.1 计算机图形学概述 1
1.1.1 图形的表示方法 1
1.1.2 表示图形的数据准备 2
1.1.3 图形的显示 2
1.2 光栅刷新图形显示器 4
1.3 阴极射线管的基础知识 9
1.4 视频知识基础 11
1.4.1 美国标准视频制式 11
1.4.2 高清晰度电视 12
1.5 平板显示器 13
1.5.1 平板式crt 13
1.5.2 等离子显示器 13
1.5.3 荧光显示器 15
1.5.4 液晶显示器 16
1.6 硬拷贝输出设备 18
1.6.1 静电绘图仪 18
1.6.2 喷墨绘图仪 19
译者序回到顶部↑
1985年春,美国佛罗里达大学教授、IEEE CG&A学术期刊时任主编John Staudhammer先生应邀来浙江大学讲学,向我们推荐了 David Rogers编写的图形学新著《Procedural Elements of Computer Graphics》。该书取材新颖,内容全面,便于自学,立即引起了大家的浓厚兴趣。当时国内计算机图形学研究正处于起步阶段,有关计算机图形学的中文教材和参考书甚少。因此我们立即着手组织翻译。中译本取名为《计算机图形学的算法基础》,由科学出版社出版。首批5000册不到3个月即销售一空,许多没有买到该书的人只好整本地复印。该书的出版,对我国计算机图形学的发展曾起了很好的作用。不少人以这本书为向导,走上了从事图形学研究的道路。
时隔14年,机械工业出版社购买了Rogers教授新版《Procedural Elements of Computer Graphics》的翻译版权,并委托我们翻译。我们很高兴接受了这一任务。与第1版相比,新版的篇幅几乎增加了一倍。从80年代到90年代,正是计算机图形学蓬勃发展的黄金时期,光线跟踪和光能辐射度方法逐渐发展成为真实感图形绘制的两大主流技术。新版收集整理了这一期间所涌现出来的大量优秀的算法,包括各种快速光线跟踪算法,带反走样的纹理映射技术以及逐步求精辐射度方法等。此外,新版继续保持了原书概念清晰、举例详细、便于自学的风格。本书从图形学最基础的光栅扫描、区域填充、画直线和圆弧等算法开始讲解,详细介绍了线裁剪和面裁剪、凸区域裁剪和凹区域裁剪的异同,景物空间消隐算法和图象空间消隐算法的差别,具体讲述了二叉空间剖分(BSP)、八叉树等图形学中常用的数据结构。每一章都增添了新的内容,反映了在该领域图形学的最新研究成果。特别需要指出的是,图形学是一门只有通过实践才能掌握的学科,本书列举了90个例子,具体描述了各类算法的执行细节。这对初学者体会算法的基本原理,比较各类算法执行时的细微差别大有裨益。具备大学数学基础和高级程序设计语言知识的人均可自学本书。
本书的作者David Rogers是一位资深的图形学专家。他长期任职于美国海军科学院,从事计算机图形学的教学与科研。曾出版学术著作4部,主编多部。他编著的《Procedural Elements of Computer Graphics》(第1版),曾被评为美国Top-Five(前5名)图形学教科书,并先后被翻译成六种语言文字出版。
翻译如此一本学术名著实在是一件困难的事。尽管我们有翻译本书第1版的经验,翻译工作量仍然巨大。本书的前言、第1、2章仍由石教英负责,第3~5章仍由彭群生负责。张明敏、赵友兵参与了本书第1、2章的翻译,刘新国、陈莉、冯结青分别参与了第3~5章的翻译,全书由石教英、彭群生仔细校对、修改定稿。梁友栋教授校对了第3~5节清样,并提出了许多宝贵意见。在翻译过程中,我们发现原书的一些错误之处,其中大部分为排版和印刷错误,译文中已一一作了订正。我们也曾遇到一些国内尚未见到、尚无统一译法的名词,如Haloed Line、Pencil tracing、the popularity algorithm等,我们斟酌选用了最能表达其含义的译法,详见本书索引。这些译法是否恰当,仍有待读者认可。由于译者水平和学识有限,译本中翻译不尽妥当之处在所难免,恳请读者批评指正。
译 者
2000年11月
序言回到顶部↑
我在第1版的序言中曾说过“计算机图形学已经成为成熟的学科了”,当时我们很少有人能预见到它这20余年来的发展。那个时候,光线跟踪还只是一个活跃的研究方向—但现在即便是个人电脑也可随意使用这类程序了;那时,辐射度的研究才刚刚起步,但今天的商品化绘制软件已经普遍使用了这项技术;那时,纹理是软件实现的,但现在硬件纹理加速已经很普遍了;那时,彩色图像的量化算法只在计算机图形学界中得到有限使用,但今天即便从万维网上下载图片也要用到图像量化技术。还可以找到一长串图形技术进步的例子。总之,今天的计算机图形学已经紧密地与日常生活结合在一起,它所涉及的领域遍及广告、娱乐、医学、教育、科学、工程、航空,等等。大部分计算机软件,包括使用频率最高的操作系统,都使用了图形化的用户界面。
在这一版中,我改写了第1版的很大一部分内容,这样做的结果是新版本的篇幅差不多是原来的两倍。增加的内容主要集中于图形用户界面以及直线、圆、椭圆的生成和图像压缩等算法的扩充。新版本还给出了直线和多边形裁剪的新算法,特别是在介绍经典的Cohen-Sutherland裁剪算法、中点分割算法、Cyrus-Beck裁剪算法和Sutherland-Hodgman裁剪算法的同时,重点讨论了Liang-Barsky裁剪算法和Nicholl-Lee-Nicholl裁剪算法。
可见面算法这一章在讨论二叉空间剖分(Binary Space Partitioning, BSP)、八义树和移动立方体等算法的同时,还用专门的篇幅介绍了Appel、晕线和A—buffer等算法。可见面光线跟踪算法也有很大扩充。
绘制这一章也增加了不少内容。对基于物理的光照明模型、透明性、阴影和纹理等处理方法进行了扩充。在讨论辐射度基本理论的同时,我们还介绍了光线跟踪的最新进展,如锥光线跟踪、束光线跟踪、笔束光线跟踪和随机光线跟踪等。颜色一节补充了均匀颜色空间,并对gamma矫正进行了更为详细的讨论。还专门讨论了彩色图像的量化和在印刷介质上的颜色再现问题。
本书适合专业程序员、工程师及科研人员使用。本书也非常适用于为高年级本科生和一年级研究生开设的重点讲授绘制技术的计算机图形学课程的教科书。如果与本书的姊妹篇《Mathematical Elements for Computer Graphics》(计算机图形学的数学基础)配合使用,课程内容就会扩大到包含各种可操纵变换、曲线和曲面等。在保留第1版例子的基础上,这一版还给出了一些新例子,共有90个。只要具有大学数学和程序设计语言基本知识的人都可以使用本书。
任何不给出算法的计算机图形学书籍都将是不完整的。本书介绍的算法采用三种方法来描述。第一种是用列表的形式给出的语言描述;第二种是详细算法的过程描述;第三种是更为形式化的伪代码描述。尽管现在许多书籍用C语言描述算法,但我不赶这个时髦。我相信只有真正实现一个算法才能对其有深刻的理解,并对算法的细枝末节有所体会,这是书本所不能涵盖的。而且只有在实现算法时才能领会实现语言所特有的效率。实现那些用伪码表示的算法比实现其他两类算法相对要更直观些。
如果没有他人的帮助,要完成一本书是不可能的。衷心感谢阅读了手稿各个部分的同事们。其中,JohnDill和他的学生阅读了有关裁剪的第3章,并提出了许多有价值的建议。PaulHeckbert审阅了彩色图像量化和纹理这两节,他的建议为这两部分增色不少。Maureen Stone在颜色再现方面给了我很多帮助。Eric Haines对光线跟踪部分提出了相当多的建议。我还从后来的讨论中受益匪浅。John Wallace阅读了有关辐射度的部分,并就关键几点为我指点迷津。如果仍有不当之处的话,那是我的错。
我要向在法国Grenoble从事iMAGIS项目的同事Fran峯is Sillion和Peter Kipfer表示特别的感谢,他们应用自行开发的层次光线跟踪软件,在极短的时间内制作了封面图像。他们热情地完成了我所要求的修改,和他们合作我感到十分愉快。
还要提一下和我合作25年之久的编辑B. J. Clark,虽然他现在已经不再从事这一万面的工作了,但想想当年我还只是一个有志于在计算机图形学方面出一本书的年轻学者时,如果没有他对我的信任,以及多年来他无微不至的鼓励和关怀,就不会有我今天的一切。还要感谢Fine Line Illustrations公司的Fred Eckardt及其同事,他们在绘制本书插图方面帮了我大忙,他们甚至惠允我使用部分原始文件。McGraw-Hill出版公司的Kari Geltemeyer. Laurie Entringer和Heather Burbridge等也做出了很大贡献。
最后要提一下我的妻子Nancy,把她放在最后当然不意味着她的贡献小。我要向她致以特别的谢意。她不仅在我写作过程中表现出了极大的耐心,而且还做了大量的誊写、编辑、校对和打字工作。我想Nancy现在绝对是一个TEX编辑高手。
David F.Rogers
评论交流
共有37人开贴评论 68人参与评论 34人参与打分 查看
发表于:2009-10-7 16:23:00
如果要研究光栅化图形学的硬件算法,这本书和书中的Ref是必然看的。对于未来GPU的Software Graphcis Pipeline编程来说,这本书虽然不是必须掌握的,但是决对有助于了解底层知识。这有助于提高自己,并把自己和其他的OGL/D3D API工程师分开,从而成为最资深的图形工程师:〉
对于硬件工程师来说,这本书是研究GPU低功耗或是高性能的最基础的算法教程。
如果对图形学有兴趣的可以来这个论坛看看 :〉 http://www.opengpu.org/bbs/
OpenGPU Graphics Open Source community(图形开源社区),聚焦领域(focus domain)包括:
* GPU Architecture(图形处理器体系结构)
* Graphics Algorithm(图形算法)
* GPGPU Programming (通用的图形处理器编程)
* Open Source Rendering Engine(开源渲染器)
* Open Source GPU Simulator/RTL Implement(开源GPU模拟器)
对于硬件工程师来说,这本书是研究GPU低功耗或是高性能的最基础的算法教程。
如果对图形学有兴趣的可以来这个论坛看看 :〉 http://www.opengpu.org/bbs/
OpenGPU Graphics Open Source community(图形开源社区),聚焦领域(focus domain)包括:
* GPU Architecture(图形处理器体系结构)
* Graphics Algorithm(图形算法)
* GPGPU Programming (通用的图形处理器编程)
* Open Source Rendering Engine(开源渲染器)
* Open Source GPU Simulator/RTL Implement(开源GPU模拟器)
| 我要写评论 |
| 查看所有评论交流(共37条) |


点击看大图






加载中...
