现代计算机图形学入门ppt,计算机图形学完整课件.ppt

本文档深入解析计算机图形学的基础,涵盖直线与圆的生成算法,如DDA、中点画线与Bresenham方法,还重点讨论了贝塞尔曲线的连续性及其在实际应用中的重要性。此外,介绍了图形连续性的概念,如C1/C2连续,以及抛物样条曲线的C1连续性验证。
摘要由CSDN通过智能技术生成

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机图形学完整课件.ppt

(326页)

8ef693ae2fe5a9dacdd51eebcb7312a5.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.90 积分

计算机图形学 第一章、绪论第二章、基本图形生成原理第三章、图形几何变换第四章、多边形及多边形填充算法第五章、图案及动画程序设计第六章、裁剪算法第七章、自由曲线第一章、绪论 1.1 、概述1.2 、计算机图形学的发展1.3 、计算机图形学的应用1.4 、计算机图形系统1.5 、计算机图形标准1.1 概述1.1.1 计算机图形学的概念 计算机图形学Computer Graphics 是一门新兴学科,国际标准化组织ISO定义为: 计算机图形学是一门研究通过计算机将数据转换成图形,并在专门显示设备上显示的原理方法和技术的学科。它是建立在传统的图学理论,应用数学及计算机科学基础上的一门边缘学科。 1.1.2 计算机图形学的研究内容 1.基于图形设备的基本图形元素的生成算法。2.图形元素的几何变换。3.自由曲线和曲线的插值、拟合、拼接、分解、过渡、光顺、整体和局部修改等。4.三维几何造型技术。5.三维形体的实时显示。6.真实感图形的生成算法。7.山、水、花、草、烟云等模糊景物的模拟生成和虚拟现实环境的生成。8.科学计算可视化和三维或高维数据场的可视化。1.1.3 计算机图形学与图象处理的关系 计算机图形学的基本含义是使用计算机通过算法和程序在显示设备上构造出图形来。也就是说,图形是人们通过计算机设计和构造出来的,不是通过摄象机和扫描仪等设备输入的图象。所设计和构造的图形可以是现实世界已经存在的物体的图形,也可以显示完全虚构的物体。因此,计算机图形学是真实的物体或虚构物体图形的综合技术。 与此相反,图象处理是景物或图象的分析技术,它所研究的是计算机图形学的逆过程,图象增加、模式识别、景物分析、计算机视觉等,并研究如何从图象中提取二维或三维物体的模型。 尽管计算机图形学和图象处理所涉及的都是用计算机来处理图形和图象,但是长期以来却属于不同的两个技术领域。近年来,由于多媒体技术、计算机动画、三维空间数据场显示及纹理映射等的迅速发展,计算机图形学和图象处理的结合日益紧密,并相互渗透。1.2 计算机图形学的发展 1.2.1  计算机图形学的发展简史   50年代准备阶段   60年代发展阶段   70年代推广应用阶段   80年代系统实用化阶段   90年代标准化智能化阶段  1.2.2 计算机图形学的发展方向 造型技术的发展 真实图形生成技术的发展 人—机交互技术的发展 模拟艺术的仿真 计算机动画1.3 计算机图形学的应用1.用户接口2.计算机辅助设计与制造(CAD/CAM)3.地形地貌和自然资源图4.计算机动画和艺术 5.科学计算可视化6.游戏1.4 计算机图形系统 计算机图形系统硬件 计算机图形系统软件 计算机图形显示原理 光栅扫描式图形显示器1.5 计算机图形标准 GKS PHIGS CGM CGI   第二章、基本图形生成原理 2.1 直线的生成2.2 圆与椭圆的生成2.1 直线的生成2.1.1 数值微分法(DDA法)2.1.2 中点画线法2.1.3 Bresenham画线算法2.1.4 Turboc 2.0 图形函数介绍2.1.1数值微分法: 直线方程 y=k·x+b ① 给出线段的两个端点 (x1,y 1)和 (x2,y2)可以算出k和b k=△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 ③ 当对于斜率的绝对值|k|1的线段怎么实现呢?算法演示2.1.2 中点画线法 那么,下一个与直线最近的像素只能是正右方的p1( , )或右上方 p2( , )用空心小圆表示。再以M表示P1与p2的中点,即M=( , )。又设Q是理想直线与垂线 交点。显然,若M在Q的下方,则p2离直线近,应取为下一个像素;否则应取p1。这就是中点画线法的基本原理。 为了讨论方便,这里假定直线斜率在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。 对于直线上的点F(x,y)=0; 对于直线上方的点F(x,y)>0; 对于直线下方的点F(x,y)<0。 因此,欲判前述Q在M的上方还是下方,只要把M代入F(x,y),并判断它的符号。构造判别式 d=F(M)=F( , )=a( )+b( )+c当d0,则应取正右方的p1。 当d=0是,二者一样合适,可以随便取一个。 我们约定取正右方的p1。 对每一个象素计算判别式d,根据它的符号确定下一象素。由于d是xp和yp的线性函数,可采用增量计算,以便提高运算效率。 在d≥0的情况下,取正右方的象素p1,欲判断再下一个象素应取哪个,应计算d1=F( +2, +0.5) =a( +2)+b( +0.5)+c =(a( +1)+b( +0.5)+c)+a =d+a故d的增量为a。而若d<0,则取右上方象素p2。要判断再下一个象素,则要计算 d2=F( +2, +1.5) =a( +2)+。省略部分。一些,如在节点处不仅两曲线段的一阶导数相等,而且二阶导数相等,那么就可以称该曲线为二阶(C2)连续。以此类推到更高阶次连续的意义。 显然,连续的阶次愈高,曲线愈光滑。但太高的连续阶次会给设计工作和制造工作增加难度,提高成本。 所以不必盲目地提高连续的阶次,只要能满足使用要求就可以了。在实际的工程应用中,一般达到C2连续就足够好了;对于一般的应用场合,达到C1连续也就可以了。 下面依据上述的判定方法和标准,来简单讨论抛物样条曲线的连续性问题。 设两曲线段pi+1(t)和pi+2(t)在节点p处相连。在p点处,pi+1(t)的参变量t=0.5 而曲线pi+2(t)在p点处的参变量t=0。两曲线对t微分求值得 P’t+1(t)= (-12t2+8t-1)pi+(36t2-20t)pi+1 +(-36t2+16t+1)pi+2+(12t2-4t)pi+3 =pi+3-pi+1 P’i+2(t)= (-12t2+8t-1)pi+1+(36t2-20t)pi+2 +(-36t2+16t+1)pi+3+(12t2-4t)pi+4 =pi+3-pi+1 因此得出 p’i+1(0.5)=p’i+2(0) 说明抛物样条曲线可以达到C1连续。 照此方法,可以检验抛物样条曲线能否达到C2连续,大家可以自己去试一试 第4节 贝塞尔曲线贝塞尔曲线是由多项式调和函数推导出来的,通常n+1个顶点定义一个n次多项式,其参数向量表达式为:在式中,Pi为各顶点的位置向量, 为伯恩斯坦基函数,也就是贝塞尔多边形的各顶点位置向量之间的调和函数。 (1)该函数的表达式为:如果我们规定:0º和0!均为1,那么,当t=0时:当t=1时: (2)从以上结果可以得出,曲线通过多边折线的起点和终点。下面,我们通过对基函数求导,来分析一下曲线在两端点处的切矢情况。于是得:在起始点,t=0在终止点,t=1 (3) 这说明:贝塞尔曲线在两端点处的切矢方向是与贝塞尔多边折线的第一条边和最后一条边相一致的。 我们已经知道,确定m个顶点,可以定义一条m-1次的贝塞尔曲线。下面,我们来讨论一下较低次的贝塞尔曲线,例如二次贝塞尔曲线和三次贝塞尔曲线。4.2 二次贝塞尔曲线 当m=3时,顶点P0,P1,P2可定义一条二次(n=2)贝塞尔曲线。此时式(1)可以改写成:写成矩阵形式为: (4)在式(4)中,相对应于式(1)中的调和函数 分别为: 根据式(3),当n=2时,二次贝塞尔曲线在起点P0处有切向量 在终点P2处有切向量 同时,当t=1/2时:该式说明,二次贝塞尔曲线经过 P0P1P2中的一条中线P1Pm的中点P。综上所述,我们可以看出:二次贝塞尔曲线是一条抛物线。见图P0P2P1PPmB样条曲线 1从Bézier到B样条 前面所介绍的Bézier曲线,在外形设计的应用中,存在一些不足之处,主要表现为: 1)确定了多边形的顶点数(m个),也就决定了所定义的Bézier曲线的阶次(m-1次),这样很不灵活; 2)当顶点数(m)较大时,曲线的阶次将比较高,此时,多边形对曲线形状的控制将明显减弱; 3)混合函数的值在开区间(0,1)内均不为零。因此,所定义的曲线在(0

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值