直线和直线图形.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《直线和直线图形.ppt》由会员分享,可在线阅读,更多相关《直线和直线图形.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、直线和直线图形现在学习的是第1页,共51页(1)(1)(1)(1)水平线水平线水平线水平线(2)(2)(2)(2)垂直线垂直线垂直线垂直线(3)(3)(3)(3)一般线一般线一般线一般线 因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点因此,在设计算法时就必须考虑点的选取。应该选择最靠近直线的可寻点来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。来逼近直线,选择得好,绘出来的直线就直,
2、否则就会产生弯曲。来逼近直线,选择得好,绘出来的直线就直,否则就会产生弯曲。2.1 直线以及直线的绘制直线以及直线的绘制现在学习的是第2页,共51页2.2.2.2.直线的终止点要准直线的终止点要准直线的终止点要准直线的终止点要准 在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个在绘制直线过程中,由于精度的影响,直线的终点与原终点有一个累积误差。累积误差。累积误差。累积误差。例如:例如:例如:例如:因此在提高设备的精度外,也要从算法上保证绘图的误差最小。因此在提高设备的精
3、度外,也要从算法上保证绘图的误差最小。因此在提高设备的精度外,也要从算法上保证绘图的误差最小。因此在提高设备的精度外,也要从算法上保证绘图的误差最小。图图图图2.2 2.2 2.2 2.2 终点不准造成图形不封闭终点不准造成图形不封闭终点不准造成图形不封闭终点不准造成图形不封闭2.1 直线以及直线的绘制直线以及直线的绘制现在学习的是第3页,共51页3.3.3.3.直线的粗细要均匀直线的粗细要均匀直线的粗细要均匀直线的粗细要均匀 对于由象素点组成的显示器来说,如果输出的直线选点不均匀,则造成直线对于由象素点组成的显示器来说,如果输出的直线选点不均匀,则造成直线对于由象素点组成的显示器来说,如果输
4、出的直线选点不均匀,则造成直线对于由象素点组成的显示器来说,如果输出的直线选点不均匀,则造成直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线粗细不均匀,从直线上反映直线亮度不均匀;对于其他设备来说,给人感觉直线有粗有细。有粗有细。有粗有细。有粗有细。图图图图2.3 2.3 2.3 2.3 不均匀的直线不均匀的直线不均匀的直线不均匀的直线4.4.4.4.速度要快速度要快速度要快速度要快 虽然图形系统中硬件设备影响绘图的速度,但算法的
5、好坏也影响速度,虽然图形系统中硬件设备影响绘图的速度,但算法的好坏也影响速度,虽然图形系统中硬件设备影响绘图的速度,但算法的好坏也影响速度,虽然图形系统中硬件设备影响绘图的速度,但算法的好坏也影响速度,能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择能够以较快的速度完称图形,这是每一个图形系统希望的。所以在选择和设计生成直线的算法时,速度指标也要加以重视。和设计生成直线的算法时,速度指标也要加以重视。和设计生成直线的算法时,速度指标也要加以重视。和设计生成直
6、线的算法时,速度指标也要加以重视。此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同此外,对于生成直线时的特殊要求,如直线具有不同亮度、不同线宽、不同线型等。线型等。线型等。线型等。2.1 直线以及直线的绘制直线以及直线的绘制现在学习的是第4页,共51页2.2 生成直线的几种常用算法生成直线的几种常用算法 计算机中常用的输出显示器是光栅图形显示器,它可以看作是由象素计算机中常用的输出显示器是光栅图形显示器,它可以看作是由象素计算机中常用的输出显示器
7、是光栅图形显示器,它可以看作是由象素计算机中常用的输出显示器是光栅图形显示器,它可以看作是由象素构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的构成的矩阵。因此,当显示一条直线时,实际上是将最逼近于该直线的象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点象素点选中。也就是说表示一条直线,就是要用靠近直线的一些网格点来代表这
8、一直线。来代表这一直线。来代表这一直线。来代表这一直线。下面是几种生成直线常用的算法:下面是几种生成直线常用的算法:下面是几种生成直线常用的算法:下面是几种生成直线常用的算法:2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法逐点比较法算法的基本思想是:逐点比较法算法的基本思想是:逐点比较法算法的基本思想是:逐点比较法算法的基本思想是:在绘制直线的过程中,每绘制一个点与原直线进行比较,根据比较的结果决在绘制直线的过程中,每绘制一个点与原直线进行比较,根据比较的结果决在绘制直线的过程中,每绘制一个点与原直线进行比较,根据比较的结果决在绘制直线的过程中,每绘制一个点与原直线进行比较,
9、根据比较的结果决定下一步的走向,这样一步一步逼近直线。定下一步的走向,这样一步一步逼近直线。定下一步的走向,这样一步一步逼近直线。定下一步的走向,这样一步一步逼近直线。现在学习的是第5页,共51页逐点比较法的执行过程:逐点比较法的执行过程:逐点比较法的执行过程:逐点比较法的执行过程:开始开始开始开始偏差判别偏差判别偏差判别偏差判别选中象素选中象素选中象素选中象素终点判别终点判别终点判别终点判别是是是是结束结束结束结束偏差计算偏差计算偏差计算偏差计算否否否否 该算法执行中使得每一个绘制点尽可能靠近直线而不发生远离直线该算法执行中使得每一个绘制点尽可能靠近直线而不发生远离直线该算法执行中使得每一个
10、绘制点尽可能靠近直线而不发生远离直线该算法执行中使得每一个绘制点尽可能靠近直线而不发生远离直线的趋向。的趋向。的趋向。的趋向。图图图图2.4 2.4 2.4 2.4 逐点比较法执行过程逐点比较法执行过程逐点比较法执行过程逐点比较法执行过程 由一个点到下一个点的走向方法有在由一个点到下一个点的走向方法有在由一个点到下一个点的走向方法有在由一个点到下一个点的走向方法有在X X X X,Y Y Y Y方向上同时走一步,或只在方向上同时走一步,或只在方向上同时走一步,或只在方向上同时走一步,或只在X X X X方向走一步,或向方向走一步,或向方向走一步,或向方向走一步,或向Y Y Y Y方向走一步。方
11、向走一步。方向走一步。方向走一步。逐点比较法规定每一次只在逐点比较法规定每一次只在逐点比较法规定每一次只在逐点比较法规定每一次只在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线段线段线段线段 靠近靠近靠近靠近OAOA
12、OAOA线段的待选点为线段的待选点为线段的待选点为线段的待选点为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
13、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直线直
14、线直线直线是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点(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直线直线直线直线是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点是下一步选择的画直线点 按照这个规则选取画直线的点,选取的点为:按照这个规则选取画直线的点,选取的点为:按照这个规则选取
15、画直线的点,选取的点为:按照这个规则选取画直线的点,选取的点为: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
16、 m mn n n n2.2.1 2.2.1 逐点比较法逐点比较法逐点比较法逐点比较法现在学习的是第8页,共51页在绘制直线过程中,需要考虑以下几个问题:在绘制直线过程中,需要考虑以下几个问题:在绘制直线过程中,需要考虑以下几个问题:在绘制直线过程中,需要考虑以下几个问题:(1)(1)(1)(1)如何计算偏差和判别偏差;如何计算偏差和判别偏差;如何计算偏差和判别偏差;如何计算偏差和判别偏差;(2)(2)(2)(2)如何判别绘制到终点以结束算法;如何判别绘制到终点以结束算法;如何判别绘制到终点以结束算法;如何判别绘制到终点以结束算法;用上例来说明关于偏差问题用上例来说明关于偏差问题用上例来说明关
17、于偏差问题用上例来说明关于偏差问题(第一象限第一象限第一象限第一象限,斜率小于斜率小于斜率小于斜率小于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的坐标如下的坐标如下的坐标如下
18、的坐标如下: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
19、 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
20、下一点选择在下一点选择在下一点选择在下一点选择在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
21、 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
22、+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例如例如例如例如:使用逐点比较法绘制从使用逐点比较法
23、绘制从使用逐点比较法绘制从使用逐点比较法绘制从 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)
24、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,点在直线上方点在直线上方点在直线上方点在直线上
25、方,走走走走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,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直线 图形
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内