欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    直线和直线图形.ppt

    • 资源ID:87145172       资源大小:4.08MB        全文页数:51页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    直线和直线图形.ppt

    直线和直线图形现在学习的是第1页,共51页(1)(1)(1)(1)水平线水平线水平线水平线(2)(2)(2)(2)垂直线垂直线垂直线垂直线(3)(3)(3)(3)一般线一般线一般线一般线 因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。2.1 直线以及直线的绘制直线以及直线的绘制现在学习的是第2页,共51页2.2.2.2.直线的终止点要准直线的终止点要准直线的终止点要准直线的终止点要准 在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个累积误差。累积误差。累积误差。累积误差。例如:例如:例如:例如:因此在提高设备的精度外,也要从算法上保证绘图的误差最小。因此在提高设备的精度外,也要从算法上保证绘图的误差最小。因此在提高设备的精度外,也要从算法上保证绘图的误差最小。因此在提高设备的精度外,也要从算法上保证绘图的误差最小。图图图图2.2 2.2 2.2 2.2 终点不准造成图形不封闭终点不准造成图形不封闭终点不准造成图形不封闭终点不准造成图形不封闭2.1 直线以及直线的绘制直线以及直线的绘制现在学习的是第3页,共51页3.3.3.3.直线的粗细要均匀直线的粗细要均匀直线的粗细要均匀直线的粗细要均匀 对于由象素点组成的显示器来说,如果输出的直线选点不均匀,则造成直线对于由象素点组成的显示器来说,如果输出的直线选点不均匀,则造成直线对于由象素点组成的显示器来说,如果输出的直线选点不均匀,则造成直线对于由象素点组成的显示器来说,如果输出的直线选点不均匀,则造成直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线有粗有细。有粗有细。有粗有细。有粗有细。图图图图2.3 2.3 2.3 2.3 不均匀的直线不均匀的直线不均匀的直线不均匀的直线4.4.4.4.速度要快速度要快速度要快速度要快 虽然图形系统中硬件设备影响绘图的速度,但算法的好坏也影响速度,虽然图形系统中硬件设备影响绘图的速度,但算法的好坏也影响速度,虽然图形系统中硬件设备影响绘图的速度,但算法的好坏也影响速度,虽然图形系统中硬件设备影响绘图的速度,但算法的好坏也影响速度,能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择和设计生成直线的算法时,速度指标也要加以重视。和设计生成直线的算法时,速度指标也要加以重视。和设计生成直线的算法时,速度指标也要加以重视。和设计生成直线的算法时,速度指标也要加以重视。此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同线型等。线型等。线型等。线型等。2.1 直线以及直线的绘制直线以及直线的绘制现在学习的是第4页,共51页2.2 生成直线的几种常用算法生成直线的几种常用算法 计算机中常用的输出显示器是光栅图形显示器,它可以看作是由象素计算机中常用的输出显示器是光栅图形显示器,它可以看作是由象素计算机中常用的输出显示器是光栅图形显示器,它可以看作是由象素计算机中常用的输出显示器是光栅图形显示器,它可以看作是由象素构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点来代表这一直线。来代表这一直线。来代表这一直线。来代表这一直线。下面是几种生成直线常用的算法:下面是几种生成直线常用的算法:下面是几种生成直线常用的算法:下面是几种生成直线常用的算法:2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法逐点比较法算法的基本思想是:逐点比较法算法的基本思想是:逐点比较法算法的基本思想是:逐点比较法算法的基本思想是:在绘制直线的过程中,每绘制一个点与原直线进行比较,根据比较的结果决在绘制直线的过程中,每绘制一个点与原直线进行比较,根据比较的结果决在绘制直线的过程中,每绘制一个点与原直线进行比较,根据比较的结果决在绘制直线的过程中,每绘制一个点与原直线进行比较,根据比较的结果决定下一步的走向,这样一步一步逼近直线。定下一步的走向,这样一步一步逼近直线。定下一步的走向,这样一步一步逼近直线。定下一步的走向,这样一步一步逼近直线。现在学习的是第5页,共51页逐点比较法的执行过程:逐点比较法的执行过程:逐点比较法的执行过程:逐点比较法的执行过程:开始开始开始开始偏差判别偏差判别偏差判别偏差判别选中象素选中象素选中象素选中象素终点判别终点判别终点判别终点判别是是是是结束结束结束结束偏差计算偏差计算偏差计算偏差计算否否否否 该算法执行中使得每一个绘制点尽可能靠近直线而不发生远离直线该算法执行中使得每一个绘制点尽可能靠近直线而不发生远离直线该算法执行中使得每一个绘制点尽可能靠近直线而不发生远离直线该算法执行中使得每一个绘制点尽可能靠近直线而不发生远离直线的趋向。的趋向。的趋向。的趋向。图图图图2.4 2.4 2.4 2.4 逐点比较法执行过程逐点比较法执行过程逐点比较法执行过程逐点比较法执行过程 由一个点到下一个点的走向方法有在由一个点到下一个点的走向方法有在由一个点到下一个点的走向方法有在由一个点到下一个点的走向方法有在X X X X,Y Y Y Y方向上同时走一步,或只在方向上同时走一步,或只在方向上同时走一步,或只在方向上同时走一步,或只在X X X X方向走一步,或向方向走一步,或向方向走一步,或向方向走一步,或向Y Y Y Y方向走一步。方向走一步。方向走一步。方向走一步。逐点比较法规定每一次只在逐点比较法规定每一次只在逐点比较法规定每一次只在逐点比较法规定每一次只在X X X X方向或方向或方向或方向或Y Y Y Y方向走一步。方向走一步。方向走一步。方向走一步。2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第6页,共51页例如:例如:例如:例如:假设要画直线为假设要画直线为假设要画直线为假设要画直线为O(0,0)O(0,0)O(0,0)O(0,0)到到到到A(XA(XA(XA(XA A,Y,Y,Y,YA A A A),),),),即即即即OAOAOAOA线段线段线段线段 靠近靠近靠近靠近OAOAOAOA线段的待选点为线段的待选点为线段的待选点为线段的待选点为K K K K0 0 0 0,K K K K 0 0 0 0,K K K K1 1 1 1,K K K K 1,1,1,1,K K K K2 2 2 2,K K K K3 3 3 3,K K K K4 4 4 4等,等,等,等,那么究竟怎样选取呢?那么究竟怎样选取呢?那么究竟怎样选取呢?那么究竟怎样选取呢?问题:问题:问题:问题:O O O OA A A AK K K K0 0 0 0K K K K 0 0 0 0K K K K1 1 1 1K K K K2 2 2 2K K K K 1 1 1 1K K K K3 3 3 3K K K K4 4 4 4K K K K5 5 5 5m m m mn n n n2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法注:网格点表示象素注:网格点表示象素现在学习的是第7页,共51页画线的步骤:画线的步骤:画线的步骤:画线的步骤:(1)(1)(1)(1)从从从从O O O O开始,沿开始,沿开始,沿开始,沿X X X X方向先走一步到方向先走一步到方向先走一步到方向先走一步到K K K K0 0 0 0点点点点K K K K 0 0 0 0K K K K1 1 1 1下一点的选择下一点的选择下一点的选择下一点的选择更加远离更加远离更加远离更加远离OAOAOAOA直线直线直线直线是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点(2)(2)(2)(2)再下一步可走再下一步可走再下一步可走再下一步可走K K K K 1 1 1 1或或或或K K K K2 2 2 2点点点点K K K K 1 1 1 1K K K K2 2 2 2下一点的选择下一点的选择下一点的选择下一点的选择更加远离更加远离更加远离更加远离OAOAOAOA直线直线直线直线是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点 按照这个规则选取画直线的点,选取的点为:按照这个规则选取画直线的点,选取的点为:按照这个规则选取画直线的点,选取的点为:按照这个规则选取画直线的点,选取的点为:K K K K0 0 0 0,K K K K1 1 1 1,K K K K2 2 2 2,K K K K3 3 3 3,K K K K4 4 4 4,K K K K5 5 5 5为绘制直线为绘制直线为绘制直线为绘制直线OAOAOAOA要用到的点要用到的点要用到的点要用到的点O O O OA A A AK K K K0 0 0 0K K K K 0 0 0 0K K K K1 1 1 1K K K K2 2 2 2K K K K 1 1 1 1K K K K3 3 3 3K K K K4 4 4 4K K K K5 5 5 5m m m mn n n n2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第8页,共51页在绘制直线过程中,需要考虑以下几个问题:在绘制直线过程中,需要考虑以下几个问题:在绘制直线过程中,需要考虑以下几个问题:在绘制直线过程中,需要考虑以下几个问题:(1)(1)(1)(1)如何计算偏差和判别偏差;如何计算偏差和判别偏差;如何计算偏差和判别偏差;如何计算偏差和判别偏差;(2)(2)(2)(2)如何判别绘制到终点以结束算法;如何判别绘制到终点以结束算法;如何判别绘制到终点以结束算法;如何判别绘制到终点以结束算法;用上例来说明关于偏差问题用上例来说明关于偏差问题用上例来说明关于偏差问题用上例来说明关于偏差问题(第一象限第一象限第一象限第一象限,斜率小于斜率小于斜率小于斜率小于90909090度度度度)有以下结论:有以下结论:有以下结论:有以下结论:即:即:即:即:=(1)=0(1)=0(1)=0(1)=0时,点在直线上,时,点在直线上,时,点在直线上,时,点在直线上,(2)0(2)0(2)0(2)0时,点在直线上方,时,点在直线上方,时,点在直线上方,时,点在直线上方,(3)0(3)0(3)0(3)0*Ye 0 故故K K1 1下一点选择在下一点选择在X X方向走一步方向走一步K K2 2(2)K(2)K(2)K(2)K2 2 2 2的坐标如下的坐标如下的坐标如下的坐标如下:OOA AK K0 0K K 0 0K K1 1K K2 2K K 1 1K K3 3K K4 4K K5 5在计算在计算在计算在计算 过程中过程中过程中过程中,每次都要计算二每次都要计算二每次都要计算二每次都要计算二个乘积之差个乘积之差个乘积之差个乘积之差,计算量太大计算量太大计算量太大计算量太大,下面构造一个递推关系下面构造一个递推关系下面构造一个递推关系下面构造一个递推关系.=(Yc*Xe -Xc*Ye)=(Yc*Xe -Xc*Ye)=(Yc*Xe -Xc*Ye)=(Yc*Xe -Xc*Ye)X X2 2=X=X1 1+1+1 Y Y2 2=Y=Y1 1 F F F F2 2 2 2=Xe*Y=Xe*Y=Xe*Y=Xe*Y2 2 2 2 X X X X2 2 2 2*Ye =Xe*Y*Ye =Xe*Y*Ye =Xe*Y*Ye =Xe*Y1 1 1 1 -(-(X X X X1 1 1 1+1+1+1+1)*Ye=)*Ye=F F F F1 1 1 1 -Ye -Ye -Ye -Ye 0,K0,K3 3 3 3在在Y Y方向增加一步方向增加一步2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第12页,共51页 F F F F2 2 2 20 ,K0 ,K0 ,K 0+Xe 0+Xe 0+Xe 0因此因此因此因此K K K K3 3 3 3下一点选择在下一点选择在下一点选择在下一点选择在X X X X方向走一步方向走一步方向走一步方向走一步K K K K4 4 4 4F F4 40,K 0+Xe 0+Xe 0+Xe 0O O O OA A A AK K K K0 0 0 0K K K K 0 0 0 0K K K K1 1 1 1K K K K2 2 2 2K K K K 1 1 1 1K K K K3 3 3 3K K K K4 4 4 4K K K K5 5 5 5F F F F3 3 3 30,K0,K0,K0,K4 4 4 4的坐标如下的坐标如下的坐标如下的坐标如下:X X X X4 4 4 4=X=X=X=X3 3 3 3+1+1+1+1Y Y Y Y4 4 4 4=Y=Y=Y=Y3 3 3 3F F F F4 4 4 4=F=F=F=F3 3 3 3-Ye 0-Ye 0-Ye 0-Ye =0,=0,=0,=0,走走走走X X X X方向一步方向一步方向一步方向一步,即即即即X Xi+1i+1=X=Xi i+1+1 Y Yi+1i+1=Y=Yi iF Fi+1i+1=F=Fi i-Ye-Ye(2)F(2)F(2)F(2)Fi i i i 0,0,0,=0,=0,=0,=0,走走走走X X X X方向一步方向一步方向一步方向一步,即即即即X X X Xi+1i+1i+1i+1=X=X=X=Xi i i i+1+1+1+1 Y Y Y Yi+1i+1i+1i+1=Y=Y=Y=Yi i i iF F F Fi+1i+1i+1i+1=F=F=F=Fi i i i-Ye-Ye-Ye-Ye(2)F(2)F(2)F(2)Fi i i i 0,0,0,0,走走走走Y Y Y Y方向一步方向一步方向一步方向一步,即即即即X X X Xi+1i+1i+1i+1=X=X=X=Xi i i i Y Y Y Yi+1i+1i+1i+1=Y=Y=Y=Yi i i i+1+1+1+1F F F Fi+1i+1i+1i+1=F=F=F=Fi i i i+Xe+Xe+Xe+Xe例如例如例如例如:使用逐点比较法绘制从使用逐点比较法绘制从使用逐点比较法绘制从使用逐点比较法绘制从 O(0,0)O(0,0)O(0,0)O(0,0)到到到到A(4,2)A(4,2)A(4,2)A(4,2)直线段直线段直线段直线段O O O OA A A A2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第16页,共51页例如例如例如例如:使用逐点比较法绘制从使用逐点比较法绘制从使用逐点比较法绘制从使用逐点比较法绘制从 O(0,0)O(0,0)O(0,0)O(0,0)到到到到A(4,2)A(4,2)A(4,2)A(4,2)直线段直线段直线段直线段 计数器计数器计数器计数器max(4,2)max(4,2)max(4,2)max(4,2)的值为的值为的值为的值为4,4,4,4,计长计长计长计长方向为方向为方向为方向为X,X,X,X,直线的斜率为直线的斜率为直线的斜率为直线的斜率为0.50.50.50.5(1)(1)设直线先在设直线先在X X方向走一步方向走一步,计数器为计数器为计数器为计数器为3,3,3,3,K K1 1有关数据为有关数据为:Y Y1 1 1 1=Y=Y0 0 0 0 =0 =0X X1 1 1 1=X=X0 0 0 0+1=1+1=1F F1 1 1 1=F=F0 0-Y-Ye e =-2 =-2 F F1 1 1 1 0,0,0,0,0,0,0,点在直线上方点在直线上方点在直线上方点在直线上方,走走走走X X X X方向一步方向一步方向一步方向一步K K2 2 2 22.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第18页,共51页O O O OA A A AK K1 1 1 1K K2 2 2 2(3)K(3)K3 3在在X X方向走一步方向走一步,计数器为计数器为计数器为计数器为2,2,2,2,有关数据为有关数据为:Y Y3 3 3 3=Y=Y2 2 2 2=1=1=1=1X X3 3 3 3=X=X2 2 2 2+1=2+1=2+1=2+1=2 F F3 3 3 3=2=2 -2=0-2=0-2=0-2=0 F F3 3 3 3=0,=0,=0,=0,点在直线上点在直线上点在直线上点在直线上,走走走走X X X X方向一步方向一步方向一步方向一步K K3 3 3 32.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第19页,共51页O O O OA A A AK K1 1 1 1K K2 2 2 2K K3 3 3 3(4)K(4)K4 4在在X X方向走一步方向走一步,计数器为计数器为计数器为计数器为1,1,1,1,K K4 4有关数据为有关数据为:Y Y4 4 4 4=Y=Y3 3 3 3 =1=1=1=1 X X4 4 4 4=X=X3 3 3 3+1=3+1=3+1=3+1=3F F4 4 4 4=0=0 -2=-2-2=-2-2=-2-2=-2 F F4 4 4 4 0,0,0,0,0,0,0,点在直线上方点在直线上方点在直线上方点在直线上方,走走走走X X X X方方方方向一步向一步向一步向一步K5 52.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第21页,共51页K3 3OOA AK1 1K2 2K4 4K5 5(6)(6)在在X X方向走一步方向走一步,计数器为计数器为计数器为计数器为0,0,0,0,K K6 6有关数据为有关数据为:Y Y6 6 6 6=Y=Y5 5 5 5=2=2=2=2 X X6 6 6 6=X=X5 5 5 5+1=4+1=4+1=4+1=4F F5 5 5 5=2=2 -2=0-2=0-2=0-2=0 因为计数器为因为计数器为因为计数器为因为计数器为0,0,0,0,所以结束直线绘制所以结束直线绘制所以结束直线绘制所以结束直线绘制K6 62.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第22页,共51页绘制直线点的具体选择过程绘制直线点的具体选择过程:OOA AK2 2K3 3K4 4K1 1K5 5K6 62.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第23页,共51页 图图 各象限笔画走向各象限笔画走向(2)F(2)Fi i 0,=0,=0,走走X X方向一步方向一步X Xi+1i+1=X=Xi i+1+1 Y Yi+1i+1=Y=Yi iF Fi+1i+1=F=Fi i Ye Ye X Xi+1i+1=X=Xi i Y Yi+1i+1=Y=Yi i+1+1F Fi+1i+1=F=Fi i+Xe+Xe(1)F(1)Fi i=0,=0,走走Y Y方向一步方向一步X Xi+1i+1=X=Xi i Y Yi+1i+1=Y=Yi i+1+1 F Fi+1i+1=F=Fi i+Xe+Xe(2)F(2)Fi i 0,=0,=0,走走X X方向一步方向一步X Xi+1i+1=X=Xi i-1-1 Y Yi+1i+1=Y=Yi iF Fi+1i+1=F=Fi i+Ye+Ye(2)F(2)Fi i 0,=0,=0,走走Y Y方向一步方向一步X Xi+1i+1=X=Xi i Y Yi+1i+1=Y=Yi i-1-1 F Fi+1i+1=F=Fi i-Xe-Xe(2)F(2)Fi i 0,=0走步方向偏差值Fk=0第一象限+XFk+1=Fk-|YA|+YFk+1=Fk+|XA|第二象限-X-Y第三象限+YFk+1=Fk-|XA|-XFk+1=Fk+|YA|第四象限-Y+X 例如:在屏幕坐标系下例如:在屏幕坐标系下例如:在屏幕坐标系下例如:在屏幕坐标系下,生成直线生成直线生成直线生成直线O(XO(XO(XO(X1 1 1 1,Y,Y,Y,Y1 1 1 1)A(X)A(X)A(X)A(X2 2 2 2,Y,Y,Y,Y2 2 2 2)且且且且OAOAOAOA与水平线与水平线与水平线与水平线的夹角的斜率小于的夹角的斜率小于的夹角的斜率小于的夹角的斜率小于90909090度度度度.O OA A2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第25页,共51页2.2.2 2.2.2 2.2.2 2.2.2 数值微分法数值微分法数值微分法数值微分法数值微分法算法的基本思想是:数值微分法算法的基本思想是:数值微分法算法的基本思想是:数值微分法算法的基本思想是:在生成直线的某点上增加一个同在生成直线的某点上增加一个同在生成直线的某点上增加一个同在生成直线的某点上增加一个同X X X X和和和和Y Y Y Y的一阶导数成比例的小步的一阶导数成比例的小步的一阶导数成比例的小步的一阶导数成比例的小步长长长长,在这种情况下的一阶导数是连续的在这种情况下的一阶导数是连续的在这种情况下的一阶导数是连续的在这种情况下的一阶导数是连续的,而且对于而且对于而且对于而且对于 X X X X 和和和和 Y Y Y Y 成正比。成正比。成正比。成正比。数值微分法数值微分法数值微分法数值微分法(Digital Differential Analyzer,Digital Differential Analyzer,Digital Differential Analyzer,Digital Differential Analyzer,又称又称又称又称DDADDADDADDA法法法法)推导如下推导如下推导如下推导如下:设直线的起点坐标设直线的起点坐标设直线的起点坐标设直线的起点坐标(X X X Xs s s s,Y,Y,Y,Ys s s s),),),),终点坐标位终点坐标位终点坐标位终点坐标位(X X X Xe e e e,Y,Y,Y,Ye e e e),),),),令令令令 X=XX=XX=XX=Xe e e e-X-X-X-Xs s s s,Y=Y,Y=Y,Y=Y,Y=Ye e e e-Y-Y-Y-Ys s s s要生成直线的微分方程是要生成直线的微分方程是要生成直线的微分方程是要生成直线的微分方程是:现在学习的是第26页,共51页令令令令:取时间步长取时间步长取时间步长取时间步长 ,数值解的递推公式为数值解的递推公式为数值解的递推公式为数值解的递推公式为:公式公式公式公式 3 3 3 3 可以求得直线可以求得直线可以求得直线可以求得直线(X X X Xs s s s,Y,Y,Y,Ys s s s)(X X X Xe e e e,Y,Y,Y,Ye e e e)上的点上的点上的点上的点,但由于显示时要用象素来表示但由于显示时要用象素来表示但由于显示时要用象素来表示但由于显示时要用象素来表示,所所所所以绘制直线的点是整数要用舍入法来找到最靠近直线的点以绘制直线的点是整数要用舍入法来找到最靠近直线的点以绘制直线的点是整数要用舍入法来找到最靠近直线的点以绘制直线的点是整数要用舍入法来找到最靠近直线的点.2.2.2 2.2.2 2.2.2 2.2.2 数值微分法数值微分法数值微分法数值微分法对于终点判别可采用计数方法对于终点判别可采用计数方法对于终点判别可采用计数方法对于终点判别可采用计数方法:计数器值等于计数器值等于计数器值等于计数器值等于x,yx,yx,yx,y方向增量最大值方向增量最大值方向增量最大值方向增量最大值;每绘制一个象素点每绘制一个象素点每绘制一个象素点每绘制一个象素点,计数器减计数器减计数器减计数器减1.1.1.1.现在学习的是第27页,共51页例如例如例如例如:绘制从绘制从绘制从绘制从(0,0)(0,0)(0,0)(0,0)到到到到(5,5)(5,5)(5,5)(5,5)的直线的直线的直线的直线运用运用运用运用DDADDADDADDA方法计算如下方法计算如下方法计算如下方法计算如下:初始值计算初始值计算初始值计算初始值计算:x=0,y=0,count=5,dx=1,dy=1x=0,y=0,count=5,dx=1,dy=1x=0,y=0,count=5,dx=1,dy=1x=0,y=0,count=5,dx=1,dy=1绘制过程如下绘制过程如下绘制过程如下绘制过程如下:0 0(1)count=4 x=1 y=1(1)count=4 x=1 y=1(1)count=4 x=1 y=1(1)count=4 x=1 y=1 画点画点画点画点(1,1)(1,1)(1,1)(1,1)(2)count=3 x=2 y=2(2)count=3 x=2 y=2(2)count=3 x=2 y=2(2)count=3 x=2 y=2 画点画点画点画点(2,2)(2,2)(2,2)(2,2)(3)count=2 x=3 y=3(3)count=2 x=3 y=3(3)count=2 x=3 y=3(3)count=2 x=3 y=3 画点画点画点画点(3,3)(3,3)(3,3)(3,3)(4)count=1 x=4 y=4(4)count=1 x=4 y=4(4)count=1 x=4 y=4(4)count=1 x=4 y=4 画点画点画点画点(4,4)(4,4)(4,4)(4,4)(5)count=0 x=5 y=5(5)count=0 x=5 y=5(5)count=0 x=5 y=5(5)count=0 x=5 y=5 画点画点画点画点(5,5)(5,5)(5,5)(5,5)2.2.2 2.2.2 2.2.2 2.2.2 数值微分法数值微分法数值微分法数值微分法现在学习的是第28页,共51页练习练习练习练习:绘制从绘制从绘制从绘制从(0,0)(0,0)(0,0)(0,0)到到到到(-8,-4)(-8,-4)(-8,-4)(-8,-4)的直线的直线的直线的直线运用运用运用运用DDADDADDADDA方法计算如下方法计算如下方法计算如下方法计算如下:初始值计算初始值计算初始值计算初始值计算:x=0,y=0,c=8,dx=-1,dy=-0.5x=0,y=0,c=8,dx=-1,dy=-0.5x=0,y=0,c=8,dx=-1,dy=-0.5x=0,y=0,c=8,dx=-1,dy=-0.5绘制过程如下绘制过程如下绘制过程如下绘制过程如下:(1)(1)(1)(1)c =7c =7 x=-1 y=-0.5 x=-1 y=-0.5 x=-1 y=-0.5 x=-1 y=-0.5 画点画点画点画点(-1,-1)(-1,-1)(-1,-1)(-1,-1)(2)c=6 x=-2 y=-1 (2)c=6 x=-2 y=-1 (2)c=6 x=-2 y=-1 (2)c=6 x=-2 y=-1 画点画点画点画点(-2,-1)(-2,-1)(-2,-1)(-2,-1)(3)c=5 x=-3 y=-1.5 (3)c=5 x=-3 y=-1.5 (3)c=5 x=-3 y=-1.5 (3)c=5 x=-3 y=-1.5 画点画点画点画点(-3,-2)(-3,-2)(-3,-2)(-3,-2)(4)c=4 x=-4 y=-2 (4)c=4 x=-4 y=-2 (4)c=4 x=-4 y=-2 (4)c=4 x=-4 y=-2 画点画点画点画点(-4,-2)(-4,-2)(-4,-2)(-4,-2)(5)c=3 x=-5 y=-2.5 (5)c=3 x=-5 y=-2.5 (5)c=3 x=-5 y=-2.5 (5)c=3 x=-5 y=-2.5 画点画点画点画点(-5,-3)(-5,-3)(-5,-3)(-5,-3)(6)c=2 x=-6 y=-3 (6)c=2 x=-6 y=-3 (6)c=2 x=-6 y=-3 (6)c=2 x=-6 y=-3 画点画点画点画点(-6,-3)(-6,-3)(-6,-3)(-6,-3)(7)c=1 x=-7 y=-3.5 (7)c=1 x=-7 y=-3.5 (7)c=1 x=-7 y=-3.5 (7)c=1 x=-7 y=-3.5 画点画点画点画点(-7,-4)(-7,-4)(-7,-4)(-7,-4)(8)c=0(8)c=0(8)c=0(8)c=0 x=-8 y=-4 x=-8 y=-4 x=-8 y=-4 x=-8 y=-4 画点画点画点画点(-8,-4)(-8,-4)(-8,-4)(-8,-4)2.2.2 2.2.2 2.2.2 2.2.2 数值微分法数值微分法数值微分法数值微分法现在学习的是第29页,共51页2.2.3 Bresenham2.2.3 Bresenham算法算法BresenhamBresenhamBresenhamBresenham算法的基本思想是:算法的基本思想是:算法的基本思想是:算法的基本思想是:每次迭代在增量最大方向上均走一步每次迭代在增量最大方向上均走一步每次迭代在增量最大方向上均走一步每次迭代在增量最大方向上均走一步,其方向由增量的正负决定其方向由增量的正负决定其方向由增量的正负决定其方向由增量的正负决定,另一另一另一另一个方向是否也走个方向是否也走个方向是否也走个方向是否也走,取决于计算出来的误差项取决于计算出来的误差项取决于计算出来的误差项取决于计算出来的误差项,误差项所记录的方向同最大增误差项所记录的方向同最大增误差项所记录的方向同最大增误差项所记录的方向同最大增量方向垂直量方向垂直量方向垂直量方向垂直.对于终点判别可采用计数方法对于终点判别可采用计数方法对于终点判别可采用计数方法对于终点判别可采用计数方法:计数器值等于计数器值等于计数器值等于计数器值等于x,yx,yx,yx,y方向增量最大值方向增量最大值方向增量最大值方向增量最大值;每绘制一个象素点每绘制一个象素点每绘制一个象素点每绘制一个象素点,计数器减计数器减计数器减计数器减1.1.1.1.现在学习的是第30页,共51页下面讨论误差项下面讨论误差项下面讨论误差项下面讨论误差项 (假设生成的直线角度在假设生成的直线角度在假设生成的直线角度在假设生成的直线角度在0-450-450-450-45度之间度之间度之间度之间 ,斜率为斜率为斜率为斜率为m)m)m)m)误差项误差项误差项误差项当当当当 点点点点B B B B在在在在A A A A点上方点上方点上方点上方,当当当当 点点点点B B B B在在在在A A A A点下方点下方点下方点下方,即即即即(x x x xi i i i,y,y,y,yi i i i)x x x xi i i iX X X Xi+1i+1i+1i+1y y y yi,ri,ri,ri,ry y y yi+1,ri+1,ri+1,ri+1,r(x x x xi+1i+1i+1i+1,y,y,y,yi+1i+1i+1i+1)A A A AB B B BD D D DC C C CE E E E现在学习的是第31页,共51页误差项误差项误差项误差项 之间的递推关系之间的递推关系之间的递推关系之间的递推关系:例题例题例题例题:已知起点已知起点已知起点已知起点(0,0),(0,0),(0,0),(0,0),终点终点终点终点(8,4),(8,4),(8,4),(8,4),用用用用BresenhamBresenhamBresenhamBresenham算法绘制这一线段算法绘制这一线段算法绘制这一线段算法绘制这一线段0 01 12 23 34 45 56 67 78 81 12 23 34 45 56 67 78 82.2.3 Bresenham2.2.3 Bresenham算法算法现在学习的是第32页,共51页例题例题例题例题:已知起点已知起点已知起点已知起点(0,0),(0,0),(0,0),(0,0),终点终点终点终点(8,4),(8,4),(8,4),(8,4),用用用用BresenhamBresenhamBresenhamBresenham算法绘制这一线段算法绘制这一线段算法绘制这一线段算法绘制这一线段0 01 12 23 34 45 56 67 78 81 12 23 34 45 56 67 78 82.2.3 Bresenham2.2.3 Bresenham算法算法1.1.1.1.,现在学习的是第33页,共51页例题例题例题例题:已知起点已知起点已知起点已知起点(0,0),(0,0),(0,0),(0,0),终点终点终点终点(8,4),(8,4),(8,4),(8,4),用用用用BresenhamBresenhamBresenhamBresenham算法绘制这一线段算法绘制这一线段算法绘制这一线段算法绘制这一线段0 01 12 23 34 45 56 67 78 81 12 23 34 45 56 67 78 82.2.3 Bresenham2.2.3 Bresenham算法算法2.2.2.2.,现在学习的是第34页,共51页例题例题例题例题:已知起点已知起点已知起点已知起点(0,0),(0,0),(0,0),(0,0),终点终点终点终点(8,4),(8,4),(8,4),(8,4),用用用用BresenhamBresenhamBresenhamBresenham算法绘制这一线段算法绘制这一线段算法绘制这一线段算法绘制这一线段0 01 12 23 34 45 56 67 78 81 12 23 34 45 56 67 78 82.2.3 Bresenham2.2.3 Bresenham算法算法3.3.3.3.,现在学习的是第35页,共51页例题例题例题例题:已知起点已知起点已知起点已知起点(0,0),(0,0),(0,0),(0,0),终点终点终点终点(8,4),(8,4),(8,4),(8,4),用用用用BresenhamBresenhamBresenhamBresenham算法绘制这一线段算法绘制这一线段算法绘制这一线段算法绘制这一线段0 01 12 23 34 45 56 67 78 81 12 23 34 45 56 67 78 82.2.3 Bresenham2.2.3 Bresenham算法算法4.4.4.4.,现在学习的是第36页,共51页例题例题例题例题:已知起点已知起点已知起点已知起点(0,0),(0,0),(0,0),(0,0),终点终点终点终点(8,4),(8,4),(8,4),(8,4),用用用用BresenhamBresenhamBresenhamBresenham算法绘制这一线段算法绘制

    注意事项

    本文(直线和直线图形.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开