首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > 计算机图形学教程.第2版.王汝传.pdf

计算机图形学教程.第2版.王汝传.pdf

  • 资源大小:26.66M
  • 上传时间:2021-08-31
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: 一般编程问题

资 源 简 介

研究通过计算机将数据转换为图形,并在专门显示设备上显示的原理、方法和技术的教程。计算机图形学教程(第2版1.深入浅出、内容全面。覆盖了核心的计算机图形算法和技术原理,比较全面和基础,不盲目追求难度和深度;内容描述明晰详尽、易理解,特别适合计算机图形学的基础教学。2.实例丰宫,启发性强。本书介绍的每个图形算法几乎都有相应的源代码说明和分析,而且有大量的辅助实例讲解,有助于读者更加深入和透彻的理解,同时也为读者提供了更多上机实践的启示。3.算法描述清晰,图文并茂。图形学的核心是图形生成算法,本书都以图文并茂的形式来描述算法,使得读者更容易掌握和理解算法的核心。4.习题典型,理论联系实践。为了巩固所学的理论知识,本书每章都附有习题,以帮助读者理解基本概念,通过理论联系实际进行书面练习和上机编写程序,同时介绍了很多主流和实用的图形库、图形软件和开发工具,旨在加强读者的实践能力5.将教学与科研相结合。本书第10章介绍了图形学在科研方面的热点—虚拟现实技术,为教师和学生在进行教与学的过程中提供更多的科研实践环节。6.提供了相应的实验大纲。在本书的附录部分有与教学内容相匹配的实验大纲可供参考。本书建议学时数为56,其中课堂教学时数为40,上机实验学时为16,实际教学中可以根据具体情况予以调整,适当减少或增加学时数。对使用本书的教学和科研单位,我们还提供本书配套的习题解答、教学素材以及课件,请到人民邮电出版社教学服务与资源网(hp/www.ptpedu.com.cn)下载。在本书的编写过程中,南京邮电大学计算机学院孙力娟教授对本书提出了许多宝贵意见,蒋凌云老师和肖甫老师对本书做了审校,并同作者进行了多次有益的讨论,提出了许多修改意见南京邮电大学讦算机学院的研究生王海元、孙涛、殷贞玲、林萍、魏烨嘉、邵星、张皓、陈超孙凯、操天明、陈庭德、黄益贵等对书稿的录入和校对T作付出了辛勤的劳动。此外,书中还引用了其他同行的工作成果,在此,一并表示衷心感谢由于编者水平有限,书中难免存在不妥与疏漏之处,敬请广大读者批评指正,如果存在教学和教材的相关问题,请与编者联系(wangle@njupt.edu.cn,hhp@njupt.edu.cn,qilin@njupt.edu.cn)编者2009年7月于南京目录三231计算机图形输人设备…31第1章概述…232计算机图形输出设备…………3511计算机图形学的概念与研究内容11124图形核心系统简介…391.11什么是计算机图形学241GKS的功能l12图像处理、模式识别与计算机图242GKS的基本概念…形学……24.3GKS图形输出原语………….21.1.3计算机绘图与 CAD/CAM技术的244图段关系24.5GKS图形输入设备……114计算机图形学研究的内容及246GKs-3D简介46当前的热点课题25通用图形软件简介………4612计算机图形学发展概况251通用图形软件的分类……4613计算机图形学特点和应用252典型图形软件及图形库一览131计算机图形学的特点253主流图形接口及软件简介132计算机图形学的应用领域…8习题……5014计算机图形生成和输出的流水线………10144图形生成和输出的流水线概述灬10第3章C语言图形程序设计基础…51142基本图形的点阵转换3.1屏幕设置511.43区域填充…………………311屏幕显示模式与坐标系144图形变换………a4·4●·日△43.1.2图形驱动程序与图形模式514.5图形裁剪123.13图形系统初始化和模式控制……53146三维图形生成和输出的流水线3.14图形坐标的设置…………………56(真实感图像的绘制)…1231.5屏幕窗口操作习题■ψ晶·db·●■争pDd善4↓b骨1123.2图形颜色设置………………59321颜色的设置…第2章计算机图形系统13322调色板看非中●导甲。●P■……6121计算机图形系统的组成323获取颜色信息…………211图形系统的结构……1333线的特性设定和填充212图形系统的基本功能及其硬件331线的特性设定64性能要求各↓◆◆命=甲中都即14332填充……65213图形系统分类及硬件工作平台……1534图形模式下文本处理……6722计算机图形显示器…………17341文本输出函数…672,21CRT显示器17342输出文本的设置68222液晶显示器………………2635图形存取处理……71223等离子显示器…29351检测所需内存………224其他类型的显示器30352把图形存入内存……………7123计算机图形输入输出设备353从内存复制图形到屏幕计算机图形学教程(第2版)二36常用画图函数简介73461窗口区和视图区14636直线类函数………………7346,2直线段裁剪…362多边形类函数463多边形裁剪……………3363圆弧类函数…464其他类型图形裁剪…156364填充类函数…446.5二维图形裁剪程序设计…15637绘图程序实例…7447反走样技术…………………15938C++语盲环境下绘图……471走样和反走样的定义…………159381 borland c++开发图形程序472超采样159环境设置…82473区域采样………】60382在VC++6.0中使用 Borland的习题l61图形程序包第5章三维图形生成和变换习题…82技木第4章二维图形生成和变换维图形的概念甲技术8352由曲面的生成…………41甚本绘图元素………………83521空间曲面的参数表示4.1.I点…84522 bezier(贝塞尔〉曲面165412直线……84523B样条曲而……169413曲线……………85524 Coons(孔斯)曲面………………17241.4区域填充……85525 NURBS(非均匀有理B样条42直线段的生成……………86曲面…加4即1754.2.1逐点比较法8653维图形变换…175422数值微分法………89531三维图形几何变换…176423 Bresenham法…532三维图形平行投影变换……1844.3曲线的生成43.1圆弧的生成……22533三维图形透视投影变换…………19554三维图形裁剪和消隐技术2004.32椭圆的生成号唱唱昏萨■自q541三维图形的裁剪20043.3规则曲线的生成…甲中中101542三维图形消隐……2024.34自由曲线的生成105习题20844区域填充12144.1多边形区域填充………………121第6章真实感图形生成技术442边填充中中。甲自中看函236概述……………20944.3种子填充…9246.2简单光照模型2】045维图形变换……12662.1环境反射光…451二维图形几何变换的基本原理……126622漫反射光…452几何变换的矩阵表示形式130623镜面反射光……………211453二维图形齐次坐标矩阵变换……134624 Phong光照模型…………21244组合变换…-13763明暗处理方法…………213455二维图形变换程序设计…1416.3.1哥罗德( Gouraud)强度插值法…2l346二维图像裁剪146632 Phong(冯)法向插值方法2142目录64阴影生成方法21583计算机动画的关键技术25464.1自身阴影生成方法21583.1旋转的四元数表示…254642投射阴影生成方法……21683,2碰撞检测技术……65整体光照模型…………217833运动捕捉技术2606.51透明性的简单模型266652整体光照模型218第9章计算机动画实践2676.53光线跟踪算法即■■q口●●●■218654辐射度算法即21991计算杋动画编程………26766纹理处理方法220911 Turbo c动画编程…………267661纹理映射…221912基于 OpenGl的 Visual c+动画662扰动映射222编程……67图形颜色和颜色模型913基于OGRE的ⅤuaC++动画671颜色的性质)编程2736.72CIE色度图…………22592计算机动画软件鲁·鲁鲁看●dI口了673颜色模型228921二维动画软件……277习题230922三维动画软件933 ds max动画制作279第7章几何造型简介…23193.1软件环境简介27971概述…………231932刚体动画实例……2837.2几何造型系统的三种模型…………232933软体动画实例285721线框模型………232934骨骼动画实例…2887.2,2表面模型………233习题…291723实体模型234第10章虚拟现实技术及VRML73实体模型的构造234731概述…92234语言732边界表示法………236101虚拟现实技术概述292733构造实体几何法23810.1.]虚拟现实技术的基本概念……292734扫描法2411012虚现实技术的特征与分类……292735分解表示法24110.13虚拟现实技术的发展…4刁题24410.14几个典型的虚拟现实应用………294第8章计算机动画技术102虚拟现实系统工具2952451021虛拟现实设备………29581计算机动画概述…………245022主流的虚拟现实引擊…296811计算机动画历史与现状…………245023虚拟现实的软件开发工具…………296812传统动画和计算机动画…………24610.3虚拟现实建模及语言…298813计算机动画的研究内容24710.31虚拟现实建模技术98814计算机动画的应用……………2471032虚拟现实建模语言………29982计算机动画的分类和原理2491033分布式虚拟现实系统…31982.1计算机动画的分类249104基于ⅤRML语言的虚拟现实场景822计算机动画原理…………252实例3计算机图形学教程(第2版)104,南京邮电大学校园导游系统……321实验7编程实现“三维图形的消隐”…39104.2分布式虚拟坦克战场327实验8编程实现“光线跟踪算法”……339习题………………335实验9编程实现“基于 OpenGL图形库的三维动画”340附录A实验336实验10制作基于3dMax的三维动画…341实验1编程实现“自行车行驶动画”……336实验11实现“颜色随机变换的旋转实验2自由设计“美术图案”………336十字架”虚拟现实场景……实验3编程生成“三次贝塞尔曲线”……337实验12设计与实现“校园导航系统”…342实验4编程实现“多边形扫描线种子附录B标准显示模式及扩充VGA填充算法”337显示模式……343实验5编程生成“双三次 bezier曲面”……338实验6编程实现“三维图形的儿何变换”…38参考文献345第1章概述1.1计算机图形学的概念与研究内容111什么是计算机图形学计算机图形学( Computer Graphics,cG)是计算机应用领域中的一个重要研究方向,目前尚属门新兴的学科。计算机绘图技术在科学研究、工程设计和生产实践中得到了广泛的应用。人们在不断解决所提出的各种新问题的同时,又进步丰富了这门学科的内容,推动了这门学科的发展。计算机绘图显著提高了绘图的速度和精确度,把工程技术人员从烦琐的手上制图中解放出来,同时由于计算机的快速图形显示可以实现对目标的实时跟踪和控制,因此,利用计算杋绘图已成为必然的趋势。可以对计算机图形学作如下定义:“计算机图形学是研究通过计算机将数据转换为图形,并在专用显示设备(例如显示器)上显示的原理、方法和技术的学科”。从这个定义中可以看出,虽然计算机图形学和计算机图像处理( Image Processing)这两者最后得到的都是图形或者图像,但它们之间是存在区别的,前者是数据到图形的过程,而后者是图形到图形的过程。计算机图形学的过程涵盖了3个基本部分,即数据、计算机和显示设备。数据可以是由用户给出的原始输入,如用以描述图形的几何参数、数学方程等,或计算机产生的结果,也可以是来自图形τ作站操作者的命令。而显示设备则用于将基本对象的视党表示形式展示在可视屏幕上,将人们不能感觉到其形态的抽象数据按需要显示成能直接观察到的图形,通过计算机来实现信息的图形表达。我们输入给计算机的信息不是图形本身,而是描述图形的各种数据或者与图形有关的信息,经过计算机系统处理以后,输出结果就是我们所要求的图形,这一过程如图1.1所示。输入输出各种计算枞图形所需数据处哩系统图形图1.1图形处理过程例如,为了让计算画出一个矩形,我们只要输入矩形的左上角坐标(x,y)和右下角坐标x,y)(它们是描述图形的源数据),经过计算机绘图系统处理后便显示出一个矩形(图形),因此,我们把完成图1.1所示过程的计算机系统称为计算机图形处理系统,简称为图形系统由计算机图形系统产生的图形,其表现形式和内容都是十分丰富的。图形表现形式通常有两计算机图形学教程(第2版)上种,一种是线条式,即线框架图,它是用线段来表现图形,这种图形容易反映客观实体的内部结构,因而适合表示各类工程技术中的结构图,如机械设计中零件结构图、土木设计中房屋结构图以及电路设计中的电路原理图等;另一种是具有面模型、色彩、浓淡和明暗层次效应的、有真实感的图形,这种图形如同我们用照相机拍摄的彩色照片一样,它适合表现客观实体的外形或外貌,如汽车、飞机、轮船等的外形设计以及各种艺术品造型设计等。另外,从图形所在空间来看,可分为二维图形(在平面坐标系中定义的图形)和三维图形(在三维坐标系中定义的图形)。二维图形又叫平面图形,简记为2D图形;三维图形又称立体图形,简记为3D图形同时,对计算机产生的图形还可以自动地进行各种变换,如平移、放大、缩小、旋转等。正是由于计算机产生的图形有以上这些优点,再加上计算机具有高速度的运算功能和大容量的存储能力,使得计算机绘图无论在哪一方面都超过了人T制图,从而使人们认识到计算机图形学在计算机应用领域具有广阔的前景。计算机图形产生的方法有两种:矢量法和描点法。矢量法(短折线法任何形状的曲线都可以用许多首尾相连的短直线(矢量)通近。可以在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定顺序扫描,逐个“点亮”邻近两点间的短矢量,从而得到一条近似的线。尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。这种图形产生的方法称为随机扫描法或矢量法,如图1.2所示。2.描点法(相邻像素串接法这种方法是把显示屏幕分为有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上出像素点组成的阵列称为光栅。这时,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。当像素点具有多种颜色或多种灰度等级时,便可以显示彩色图形或具有不同灰度的图形。上述方法采用的是电视光栅扫描法,或称顺序扫描法。电子束按顺序扫遍整个屏幕,但只有在经过与组成图形所在位置最相近的像素时才加以辉亮,从而显示描绘的图形,如图13所示。图12矢量法画图图1.3描点法画图112图像处理、模式识别与计算机图形学图像处理( Image Processing)、模式识别( Patten Recognition)和计算机图形学( ComputerGraphics)是计算机应用领域发展的3个分支学科,它们之间有一定的关系和区别。由于这三者有共同的地方,因而易混淆。它们的共同之处就是计算机所处理的信息都是与图形或图像有关的信息,但实际上它们的本质是不同的。这三者之间的关系如图14所示。图像处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。图像信息经过量化(数宇化)后输入到计算机中,按照不同的应用要求,计算机对图像进行各种各样的分析处理,如对照片图像扫描抽样、量化、模缴转换后送入计算机,由计算机进行加工一一复原(使模糊图像清晰)、增强(突出某些特征)和图像赋值(定义图像某部分尺寸形状和位置)等。其中人们所关心的问题是如何去除噪声、压缩图像数据以便于进行存储、传翰等不同处理。需要时可把2第1章概述加工处理后的图像重新输出,如T业中射线探伤、人体的CT扫描、卫星遥感以及资源拗测等都是图像处理的实例。早期图像处理基本上是二维处理,而且早已遍及各个领域,并朝着三维图像生成、立体成像、多种存储传输媒体等方向发展描述对象的几计算机图形学所要显何数据或者数的图形学特征(方程图像处理模式识别处理后的新的图形图14图像处理、模式识别和计算机图形学之间的关系模代识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程图形信息输入到计算机后,先对其特征进行抽取等预处理,然后利用各种识别技术,如统计识别技术、句法(语法)识别技术以及基于模糊数学的模糊识别技术对图形作出识别,按照不同应用要求,由计算机给图形作出分类和描述,从图像中提取数据模型,如邮件分拣设备扫描信件上手写的邮政编码,并将编码用图像复原成数字,再如手机的汉字手写功能,也是模式识别的一个典型应用计算机图形学是研究根据给定的描述(如数学公式或数据等),用计算机生成相应的图形、图像,所生成的图形、图像可以显示在屏幕上、硬拷贝输出或作为数据集中存放在计算机中的学科。计算机图形学研究的是从数据描述到图形生成的过程。在计算机图形学中,图形生成方式有两种,交互式绘图和被动式绘图。前者允许操作者以某种方式(对话方式或命令方式)来控制和操作图形生成过程,使得图形可以边生成、边显示、边修改,直至符合要求为止。对于后者,图形在生成过程中,操作者无法对图形进行操作和控制,目前还有一些图形系统不具备交互功能,只提供各种图形命令或图形程序库,通过编程获得所需图形。图15和图1.6所示分别为交互式绘图过程和被动式绘图过程。数据厍输入设备功能键、图形厍光笔、鼠标、图形自动绘图仪微型计算机或打印机图形程序库输入板实时修改人显示器实时观察图15交互式绘图过程图像处理、模式识别和计算机图形学都是与图形信息处理有关的三门学科,它们都已有二十年的历史,但长期以来它们以各自独立的形式发展。到了20世纪80年代,由于光栅扫描图形二二
VIP VIP
0.191415s