计算机图形学

出版时间:2006-1  出版社:机械工业出版社  作者:何援军  页数:343  
Tag标签:无  

前言

本书第1版于2006年1月由机械工业出版社出版。出版以后,收到了不少读者来信,包括教师。学生和设计人员等,除了对作者的鼓励以外,也对本书提出了许多有益的建议。2006年7月,机械工业出版社华章分社与中国计算机学会联合举办了2006年暑期教师培训班,与参会教师就计算机图形学的定义与定位。课堂教学与课程设计。计算机图形学研究方向以及算法和软件开发等议题进行了讨论,执教计算机图形学的老师提出了许多建议。同时,作者采用本书在上海交通大学本科生的“计算机图形学”。“计算机图形学课程设计”与“计算机辅助设计基础”等课程中进行了教学实践,广泛征求了学生的意见。据此,作者着手对第1版教材进行修订,新版本期望达到以下目标:在宏观上,绘制一个清楚的计算机图形学框架与认知体系,在微观上,精致编织。准确表述具体而细小的知识点。修订工作基于对图形/图像本质的分析,对计算机图形学定位。定义。内容和架构(architecture)进行研究。这项研究试图从认知方式关注计算机图形学的学科地位,从对图形/图像产生机理的梳理入手,认识计算机图形学的本质特征,明确计算机图形学的根本任务,从表现的视角理解图形/图像只是基本图元不同组合的显示方式,从构造的角度阐述“模型”的“几何品质”,认识几何计算在计算机图形学中的地位和作用的根本性,从几何奇异是造成几何造型系统不稳定性的本源入手,把握几何计算的关键,从“计算机图形学和造型依赖于点和向量的数学运算”的观点出发,以向量几何与“方向性”概念为基础,构筑几何计算的基本理论,研究它们的思想方法。几何结构以及几何算法与复杂性分析。最后,形成了以下论点:图形(图像)本质上是具有线形。宽度。颜色等属性信息的图形元素(图元)的组合。因此,抽象图形的本质可以概括为:图形=图元+属性。模型的根本是几何。在计算机图形学中拟采用“几何”(geometry)一词替代“模型”(model)。几何可以理解为几何模型。几何创建。几何运算等,有更宽泛的含义,而模型还可用作其他表述,如光照模型。纹理模型等,非几何类。计算机图形学主要研究两个问题:一是如何在计算机中构造一个客观世界——几何(模型)的描述。创建和处理,以“几何”一词统一表述之,二是如何将计算机中的虚拟世界用最形象的方式静态或动态地展现出来——几何的视觉再现,以“绘制”一词统一表述之。因此可以说:计算机图形学=几何+绘制。几何是表示,是输入,绘制是展现,是输出。从宏观上讲,几何构造模型,绘制展示模型,从微观上讲,几何决定点,绘制显示点。两者的基础是几何计算。几何计算是计算机图形学的基础,几何计算的关键是解决几何奇异问题,可对几何引入方向性概念解决几何奇异问题,构建几何计算的理论体系。

内容概要

计算机图形学在众多领域扮演着越来越重要的角色,其主要作用就是研究如何在计算机中表示以及利用计算机进行图形的计算、处理和显示的相关原理与算法,也即将抽象的模型用最为形象的方式表述出来。  本书重在清晰而准确地讲解计算机图形学的基础理论、算法、几何模型与数据结构等内容,包括光栅图形学、图形裁剪、基本几何、二维几何、图形变换、三维几何、几何造型、光照模型、曲线和曲面、曲线拟合和双圆弧逼近、交互式图形系统的设计问题以及CAD系统中的一个难点--参数设计问题。本书特色:  ●凝聚了作者多年的一线教学经验,内容贴近读者,讲解清晰而准确,使读者能够灵活应用所学,并达融会贯通的境界  ●每章后有相应的习题和思考题,可帮助读者在学习完有关内容后加深理解,温故而知新  ●特为选用本书的教师提供电子教案,需要者可登录华章网站(www.hzbook.com) 下载

作者简介

何援军教授,男,浙江诸暨人,1945年7月出生。现任上海交通大学计算机科学与工程系教授,博士生导师。1968年毕业于浙江大学数学系。任中国工程图学学会和上海市工程图学学会副理事长、计算机图形学专业委员会主任委员、中文核心期刊《工程图学学报》和《CADDM》英文期刊编委

书籍目录

第1章绪论  1.1计算机图形学及它与其他学科的关系  1.2计算机图形学发展简史  1.3计算机图形学的应用领域    1.3.1计算机辅助设计与制造    1.3.2科学计算可视化    1.3.3虚拟现实    1.3.4计算机艺术    1.3.5计算机动画    1.3.6图形用户接口  1.4计算机图形学研究的基本问题    1.4.1图形输入    1.4.2图形描述    1.4.3图形变换    1.4.4图形运算    1.4.5图形输出    1.4.6几何算法、几何复杂性和计算效率  1.5计算机图形学的相关开发技术    1.5.1OpenGL    1.5.2ACIS    1.5.3DirectX    1.5.4Java3D    1.5.5VRML第2章光栅图形学  2.1直线光栅化显示算法    2.1.1直线光栅化显示的数字微分分析法(DDA)    2.1.2直线光栅化显示的Bresenham算法  2.2圆光栅化算法    2.2.1利用圆的八方对称性画圆    2.2.2简单的方程画圆方法    2.2.3Bresenham画圆算法    2.2.4中点圆算法  2.3椭圆光栅化算法  2.4多边形填充    2.4.1扫描线填充算法    2.4.2边填充算法    2.4.3种子填充算法  2.5字符和汉字显示    2.5.1点阵字符    2.5.2矢量字符  2.6反走样    2.6.1图形走样    2.6.2超采样  2.7本章要点  2.8本章作业第3章图形裁剪  3.1线裁剪算法    3.1.1Cohen?Sutherland算法    3.1.2Liang?Barsky算法  3.2多边形裁剪    3.2.1Sutherland?Hodgon多边形裁剪算法    3.2.2图形求交集多边形裁剪法  3.3本章要点  3.4本章作业第4章基本几何  4.1基本几何的描述    4.1.1直线的描述    4.1.2圆的描述    4.1.3圆弧的描述    4.1.4基本几何的统一描述    4.1.5圆弧曲线  4.2基本几何及图形边界的方向    4.2.1基本几何及其方向的定义    4.2.2几何元素定向的优点  4.3直线和圆弧的相交    4.3.1坐标系变换求交    4.3.2几何计算求交  4.4曲线和曲线的相交    4.4.1劣弧段最小外接矩形求取    4.4.2圆弧曲线的相交算法  4.5本章要点  4.6本章作业第5章二维几何  5.1向量和向量的交点  5.2包容性测试    5.2.1符号判别法    5.2.2角度判别法    5.2.3半射线交点计数判别法    5.2.4Griffiths判别法  5.3直线段和图形公共部分的求取  5.4一般图形的填充算法    5.4.1一般图形的描述    5.4.2一般图形的填充算法  5.5二维布尔运算    5.5.1环    5.5.2二维几何构型中的图形描述    5.5.3两个环的交、并、差几何运算    5.5.4两个环运算的数据结构    5.5.5两个环运算的算法    5.5.6扩展到圆弧    5.5.7含有多个内环图形的运算    5.5.8算法复杂度分析  5.6平面多角形面积的求取  5.7本章要点  5.8本章作业第6章图形变换  6.1图形变换的理论基础    6.1.1坐标系、基底、坐标行    6.1.2基底变换    6.1.3线性变换及其乘积    6.1.4不同基底下的线性变换  6.2图形变换的基本描述    6.2.1齐次坐标    6.2.2齐次坐标变换矩阵    6.2.3二维图形变换    6.2.4三维图形变换  6.3图形变换的几何化表示    6.3.1几何化表示的基本理论    6.3.2图形变换的几何化表示    6.3.3图形变换几何化表示的实施    6.3.4图形变换几何化表示的应用    6.3.5三维变换的几何化表示    6.3.6图形变换几何化表示与基本几何  6.4投影与投影变换    6.4.1平行投影    6.4.2投影变换、深度坐标与三维观测流水线    6.4.3投影示意图  6.5轴测变换    6.5.1轴测变换的定义    6.5.2正轴测变换    6.5.3轴测投影变换的一般公式    6.5.4斜二测变换  6.6罗盘变换    6.6.1罗盘变换的基本原理    6.6.2罗盘变换公式    6.6.3屏幕轴三角架的实时产生  6.7透视变换    6.7.1透视变换的基本原理    6.7.2透视变换矩阵    6.7.3透视投影转化为平行投影    6.7.4灭点及其产生  6.8坐标变换矩阵小结  6.9视图变换    6.9.1视图变换的基本原理    6.9.2视图变换的实施  6.10本章要点  6.11本章作业第7章 三维几何……第8章 几何造型第9章 光照模型第10章 曲线和曲面第11章 曲线拟合与双圆弧逼近第12章 交互技术第13章 参数设计附录A 基础算法程序附录B 图形接口附录C 教学网站参考文献

章节摘录

书摘前言:   图形是传递信息最主要的媒体之一,计算机图形学的发展和应用在某种意义上已成为计算机软、硬件发展水平的标志。它已成为一门成熟的学科,是信息技术中不可缺少的重要内容和发展基石。“计算机图形学”课程也已成为大学计算机、机械等相关学科的一门主干课程。  本书对一些被普遍认同的计算机图形学领域的理论、技术和算法作了介绍,主要定位于作为计算机图形学(Computer Graphics,CG)课程的教材,兼作计算机辅助设计(Computer Aided Design,CAD)的科研参考书。  理论教学与应用实践应各有自己的定位和目标,前者培养学生解决问题的思维方式,后者提高学生解决问题的能力。本书强调了对基础理论、算法、几何模型与数据结构等内容的叙述,并努力保证它们的正确性,尽可能使叙述准确、清晰。  基础理论。计算机图形学理论与计算机科学中的算法设计、算法分析、数据结构等学科密切相关。本书强调了对理论核心思想的阐述,用通俗易懂的语言,简明、透彻地阐明这些理论最本质的思想,附以精心设计的图示形式,力图使读者在较短的时间内掌握这些基本理论。  算法。本书重视原理上的阐述,从理论上分析各种算法的原理、可行性及几何复杂性。对各种典型的算法尽可能比较多种可能的方案,分别指出它们的优缺点和应用场合(某些关键思想将被反复运用)。在如何提高算法的效率,保证算法的准确性、可靠性,怎样处理好多值问题以及如何组织好数据结构,提高程序设计的技巧等各方面都进行了仔细推敲。精心设计算法用例,提高算法的正确性、示范性和适应性。采用通用的、规范的描述形式,例如近于自然语言的算法描述、伪代码形式和全局性较好的框图形式等。  几何模型与数据结构。本书重视几何模型与数据结构的描述,便于读者更好地理解其背后的理论依据,也是对数据结构、程序设计等主干课程的一次深化和应用。  本书由13章正文和3篇附录构成。  第1章绪论。阐述了计算机图形学的学科定位;与其他学科CAD(及计算机绘图)、计算几何(Computer Geometry)、图像(Image)等的关系;叙述了计算机图形学中的一些基本概念、基本任务和它们在计算机图形学中的作用和地位;根据计算机图形学理论和技术的发展情况,简单地介绍了当前计算机图形学的相关开发技术。  第2章光栅图形学。对基本几何(直线、圆、椭圆等)光栅化的理论和算法,以及多边形填充、字符和汉字显示、反走样等计算机图形学的基本理论和算法作了详细的讲解。本章是计算机图形学的“入门”章,努力用浅显的语言和直观的图示形式阐述各种变量的几何意义,引导读者“入门”计算机图形学。这是吸引读者学好计算机图形学的关键。  第3章图形裁剪。本质上,图形裁剪应是一种几何计算问题,它与基本几何的光栅化算法不同,因此单列一章。  第4~8章涉及基本几何、二维几何、图形变换、三维几何和几何造型等各个方面。这些内容全部基于一套以向量几何为理论、以“方向性”概念为基础的几何计算理论体系。这套理论不仅统一了点、线(向量)、圆(弧)等基本几何及曲线和图形等的表示,并将基本几何与角度、距离、面积、分比、几何元素连接时的方向、封闭图形的边界走向等辅助几何(属性)有机地联系在一起。同时,引入“交点特征”的概念,有效地将二维布尔运算下降为一维向量计算、将三维布尔运算下降为二维布尔运算、将三维消隐算法最终归结为一维交集算法等等,从而使几何计算的复杂性大为简化,极大地提高了布尔运算、几何造型以及参数化设计等重大几何计算的稳定性和计算效率。  由此构筑了一种全新的、统一各种图形变换的坐标几何变换新机制,将平移、旋转、错切等坐标变换统一于基本几何体系,使基本几何与几何变换有机联系起来。阐明了“投影”和所谓“投影变换”的机理。研究了透视变换矩阵系数的意义和构造方法,使透视变换矩阵“量化”,以寻求在给定“灭点”的情况下定量求取透视变换系数的方法。  基本几何点、线(向量)、圆(弧)和面的定义以及它们之间的相互关系虽然并不复杂,但是作为描述所有图形和几何体的基础,其定义的严密性和算法的强壮性以及处理的效率却至关重要。需要深入地研究这些基本几何的有关问题,研究几何计算的稳定性和算法的复杂性理论,探索基本几何的方向定义以及它对几何计算效率的影响,建立对角度、距离、面积、分比、几何连接、封闭图形的边界走向等几何和属性概念的新涵义、新体系。  根据这套几何计算的理论体系,在第5章“二维几何”、第7章“三维几何”和第8章“几何造型”中叙述的经典几何算法:凸包算法、包容性测试算法、图形填充算法、2D和3D布尔运算算法、一维交集算法、消隐算法和三维几何造型算法等等,“交点特征”和“几何方向”的优越性发挥得淋漓尽致,使这些在基本几何新体系上构筑的典型几何算法变得出奇的简单。  整个体系显得较为完整、相对完善、使用方便。所有引入的理论和算法均提供了详细的例证,相信能被读者与同行接受和应用。  第9章讨论的光照模型是当前计算机图形学学科发展最快、最引人注目的方向,也是目前计算机图形学应用最广的部分。本书介绍了产生真实感图形的基本理论、原理、模型和算法。  先简单地介绍了光和颜色的基本概念,增加了“色彩应用”一节,供实现算法的读者构造出或热情、欢快、激动、奔放,或恬静、低沉、淡雅、严肃,或沉思、幽静、柔和,或朝气蓬勃、向上的作品来。  接着采用从简到繁,逐步深化的叙述方式,以环境光、漫反射和Lambert模型、镜面反射和Phong模型、透明模型的次序,自然地引出简单局部光照模型。  Gouraud明暗处理——光强插值算法和Phong明暗处理——法向插值算法从本质上讲是一种几何算法,本书将它单独列为“插值算法”一节。  光线跟踪是整体光照模型的基础,也是计算机图形学中典型的、较难的算法。本书强调了光线跟踪算法原理的叙述,配以插图,使读者更易理解。光线跟踪算法中的关键技术则强调了可能采用的策略,并未展开。例如几何求交的问题,在有些书中列举了直线与立方体、球和二次曲面等的求交算法,其实,这种求交工作是几何计算或数学问题,无法一一枚举,倒不如将它的本质列出,给读者一个自由发挥的天地。  阴影算法,本书强调了自身阴影和投射阴影的概念。  纹理问题,将颜色纹理和几何纹理概念分别予以讨论。  从工程应用的角度讲,曲线曲面可分成两大应用需求:设计型和拟合型。“设计型”往往是设计人员对其所设计的曲线(曲面)并无定量概念情况下于设计过程中的即兴发挥。“拟合型”曲线则是对已经存在的离散点列(例如通过测量或实验得到的一系列有序点列)构造出尽可能光滑的曲线或曲面,用以直观(而忠实)地反映出实验特性、变化规律和趋势等。  第10章介绍的由Bézier提出的一种由控制多边形定义曲线和曲面的方法是“设计型”曲线曲面的典型代表。曲线、曲面本身的基础理论和进一步的研究与发展应该属于计算机辅助几何设计(Computer Aided Geometric Design)的范畴,在计算机图形学中讲授曲线、曲面知识的目的是更好地在计算机上显示曲线曲面,以计算机图形学的优势更好地展示多彩的世界。  第11章详细介绍的曲线拟合和双圆弧逼近属于“拟合型”曲线,它是计算机辅助制造(Computer Aided Manufacturing,CAM)中的常用算法,包括“小挠度样条函数”和“大挠度样条函数”以及“双圆弧逼近算法”和“直线逼近算法”等。  CAD常常是与计算机图形学联系在一起的,第12章和第13章讨论了计算机图形学最密切的应用——CAD中的一些问题。  第12章讨论了交互式图形系统的设计问题,简要介绍了交互式图形系统设计中的几个关键问题:交互系统的设计原则、界面和菜单设计、交互设计的基本技术,例如定位技术、橡皮筋技术、拖拉技术和选择技术等。对交互式图形系统的数据结构设计也作了原则性的介绍。UNDO和REDO功能虽然是交互系统的重要而必需的技术,而且在计算机应用系统中均有应用,但很少见到这方面的介绍。本书介绍了一种实现UNDO和REDO功能的方法,包括UNDO和REDO功能的数据结构设计、命令执行时的操作、交互应用系统中的命令接口和UNDO或REDO时的动作流程等,希望能对读者有所启发。  第13章介绍的是CAD系统中的一个难点——参数设计问题。先讨论了几何约束满足问题(Geometric Constraint Satisfaction Problem,GCSP),给定一组几何元素和一组描述几何元素间关系的约束条件,求解这组几何元素以满足这组约束。GCSP的求解是智能CAD系统中参数化设计的核心问题,也是人工智能、软件工程、工程设计等领域的研究课题。而后介绍一种参数化的二维图形的输入方法,这种方法采用文本文件输入,但是是一种具有“计算功能”的文本文件。它可以由基本几何直接构造“图元”,也可以采用图形陈列、旋转、平移、对称、比例等图形操作定义新的“图元”。这种“图元”可以是已经构造或即将构造的“图元”组合,用宏调用的方法,实现图形的递归构造。它提供了比较灵活的图形构造手段,既使图形生成简化,又减少了图库的存储量。  最后的附录实际上是对正文的一个很好补充,涵盖了如何将理论和算法付诸实践的范例,有助于读者更好地理解本书的一些基本思想。同时,这些简洁明了、构思巧妙、久经考验的图形处理工具也给广大从事工程设计的科研人员和研究生提供了一个图形开发平台。  本书附录C介绍的教学网●本书理论教学的多媒体教材。 ●本书附录所列的是计算机图形处理程序的实体以及在此基础上开发的交互式应用系统。这个应用系统不仅可以直接实际使用,也可作为研究生和CAD设计人员的图形开发平台。 ●一个简单的、基于C++的计算机图形学实验平台及其运行环境和计算机图形学经典算法的演示系统。 ●部分学生作业等等。 ●特别是,网站中收录了一些大众化的、以计算机图形学理论应用为主的知识性样板课题。这些样板课题具有知识性、抽象性、应用性和综合性。它向读者展示了如何从原始问题开始,从问题抽象→找出难点→理论基础→项目实施(数据结构和程序设计等)→应用检验(系统化、产品化)直至理论升华(设计书、论文等)的全过程。相信会激发读者的探索欲望。  “伤其十指,不如断其一指。” 本书没有也不可能对计算机图形学许多精彩的理论和算法面面俱到,而是着重对一些典型的算法作了详细介绍。例如,对三维造型装配几何计算消隐的全过程描述得十分详尽,读者几可直接按此编程实现。而且,在这条主线的叙述中,又将本书的几何计算的理论体系完整、充分地体现出来。  当然,只有在对算法真正实现并作了大量的考证以后才能对其有深刻的理解,才能对算法的枝梢末节有所体会,享受到其中的奥妙和乐趣。  本书的1~9章应该是计算机图形学课程的基本教学内容,而有条件的学校可以介绍或补充一些第10~11章中关于曲线、曲面的内容,第12~13章及附录会对从事CAD工作和有关的研究生有所帮助。  柳伟、徐建明、李震霄等分别参与了第1章、第10章和第9章的起草工作,何一江对前言作了润色,一些本科生及研究生参与了上海交通大学计算机图形学教学网站的制作,提供了他们的习作,特向他们表示感谢。  上海交通大学计算机系高手林立,也是一个和谐的集体,同事们对我的工作一直给予大力协助和支持,感谢他们的帮助。  最后,感谢夫人许剑秋为我创造了良好的生活环境。  书中不当之处,希望读者、专家和同行勿吝指正。

编辑推荐

《计算机图形学(第2版)》由机械工业出版社出版。

图书封面

图书标签Tags

评论、评分、阅读与下载


    计算机图形学 PDF格式下载


用户评论 (总计2条)

 
 

  •   书中的UNDO/REDO算法对我们帮助很大。还有其它的算法介绍也很全面。长沙优易软件开发有限公司是亚洲太平洋地区最大的三维管道CAD/CAE一体化设计软件开发商,也是新一代三维工厂设计管理系统AutoPDMS的开创者和领导者。www.uesoft.com
  •   这本书有点深,初学不容易,如果仔细看应该会明白七八成吧.:)
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7