资源描述:
《计算机图形学完整课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、计算机图形学第一章、绪论第二章、基本图形生成原理第三章、图形几何变换第四章、多边形及多边形填充算法第五章、图案及动画程序设计第六章、裁剪算法第七章、自由曲线第一章、绪论1.1、概述1.2、计算机图形学的发展1.3、计算机图形学的应用1.4、计算机图形系统1.5、计算机图形标准1.1概述1.1.1计算机图形学的概念计算机图形学ComputerGraphics是一门新兴学科,国际标准化组织ISO定义为:计算机图形学是一门研究通过计算机将数据转换成图形,并在专门显示设备上显示的原理方法和技术的学科。它是建立在传统的图学理论,应用数学及计算机科学基础上的一门边缘学科。1.1.2计算机图形学的研
2、究内容1.基于图形设备的基本图形元素的生成算法。2.图形元素的几何变换。3.自由曲线和曲线的插值、拟合、拼接、分解、过渡、光顺、整体和局部修改等。4.三维几何造型技术。5.三维形体的实时显示。6.真实感图形的生成算法。7.山、水、花、草、烟云等模糊景物的模拟生成和虚拟现实环境的生成。8.科学计算可视化和三维或高维数据场的可视化。1.1.3计算机图形学与图象处理的关系计算机图形学的基本含义是使用计算机通过算法和程序在显示设备上构造出图形来。也就是说,图形是人们通过计算机设计和构造出来的,不是通过摄象机和扫描仪等设备输入的图象。所设计和构造的图形可以是现实世界已经存在的物体的图形,也可以显
3、示完全虚构的物体。因此,计算机图形学是真实的物体或虚构物体图形的综合技术。与此相反,图象处理是景物或图象的分析技术,它所研究的是计算机图形学的逆过程,图象增加、模式识别、景物分析、计算机视觉等,并研究如何从图象中提取二维或三维物体的模型。尽管计算机图形学和图象处理所涉及的都是用计算机来处理图形和图象,但是长期以来却属于不同的两个技术领域。近年来,由于多媒体技术、计算机动画、三维空间数据场显示及纹理映射等的迅速发展,计算机图形学和图象处理的结合日益紧密,并相互渗透。1.2计算机图形学的发展1.2.1计算机图形学的发展简史50年代准备阶段60年代发展阶段70年代推广应用阶段80年代系统实用
4、化阶段90年代标准化智能化阶段1.2.2计算机图形学的发展方向造型技术的发展真实图形生成技术的发展人—机交互技术的发展模拟艺术的仿真计算机动画1.3计算机图形学的应用1.用户接口2.计算机辅助设计与制造(CAD/CAM)3.地形地貌和自然资源图4.计算机动画和艺术5.科学计算可视化6.游戏1.4计算机图形系统计算机图形系统硬件计算机图形系统软件计算机图形显示原理光栅扫描式图形显示器1.5计算机图形标准GKSPHIGSCGMCGI第二章、基本图形生成原理2.1直线的生成2.2圆与椭圆的生成2.1直线的生成2.1.1数值微分法(DDA法)2.1.2中点画线法2.1.3Bresenham画线
5、算法2.1.4Turboc2.0图形函数介绍2.1.1数值微分法:直线方程y=k·x+b①给出线段的两个端点(x1,y1)和(x2,y2)可以算出k和bk=△y/△x=(y2-y1)/(x2-x1)b=y1-k·x1再用setpixel(x,int(y±0.5),color)输出该系统的颜色值便可画出直线.但是画线效率太低,这是因为每步都需浮点乘法运算和一个四舍五入.数值微分算法的描述对任何沿直线给定的x的增量△x,可以从下中计算出y的增量△y=k·△x②同样可以得出对应于指定的△x=△y/k③当对于斜率的绝对值
6、k
7、<1的线段,可以让x从起点到终点变化,每步递增(或递减)1,即令△
8、x=±1,用②式计算y增量,△y=±k.若前一次直线上像素点坐标为(xi,yi)这一次直线上的像素点坐标为(xi+1,yi+1)则xi+1=xi±1,yi+1=yi±k.调用setpixel(xi+1,int(yi+1+0.5),color)输出该像素的颜色即可.当
9、k
10、>1的线段怎么实现呢?算法演示2.1.2中点画线法那么,下一个与直线最近的像素只能是正右方的p1(,)或右上方p2(,)用空心小圆表示。再以M表示P1与p2的中点,即M=(,)。又设Q是理想直线与垂线交点。显然,若M在Q的下方,则p2离直线近,应取为下一个像素;否则应取p1。这就是中点画线法的基本原理。为了讨论方便,这
11、里假定直线斜率在0-1之间,其它两种情况可参照下述讨论进行相应处理。如图所示,若直线在x方向增加一个单位,则在y方向的增量只能在0-1之间。假设直线上当前已确定的一个像素点坐标为(xp,yp),用实心小圆表示。P=(xp,yp)G算法推导:下面我们来讨论中点画线算法的实现。假设直线的起点和终点分别为(x1,y1)和(x2,y2)则直线方程为F(x,y)=a·x+b·y+c=0其中,a=y1-y2,b=x2-x1,c=x1·y2-x2·y1。