第四章二维图形的生成精选文档.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(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 二维图形的生成2022/10/19西安工程大学计算机图形学1本讲稿第一页,共五十五页2022/10/19西安工程大学计算机图形学2v多边形的表示方法多边形的表示方法顶点表示顶点表示点阵表示点阵表示v顶点表示:用多边形顶点的序列来刻划多边形。直观、几何意顶点表示:用多边形顶点的序列来刻划多边形。直观、几何意义强、占内存少;不能直接用于面着色。义强、占内存少;不能直接用于面着色。v点阵表示:用位于多边形内的象素的集合来刻划多边形。点阵表示:用位于多边形内的象素的集合来刻划多边形。失去了许多重要的几何信息;便于运用帧缓冲存储器表示失去了许多重要的几何信息;便于运用帧缓冲存储器表示图形,易于面
2、着色。图形,易于面着色。多边形的扫描转换4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第二页,共五十五页2022/10/19西安工程大学计算机图形学3多边形的扫描转换:多边形的扫描转换:把多边形的顶点表示转换为点阵表示,也就是从多边形的给定边界出发,求出位于其内部的各个象素,并给帧缓冲器内的各个对应元素设置相应的灰度和颜色,通常称这种转换为多边形的扫描转换。几种方法:几种方法:逐点判断法;扫描线算法;边缘填充法;栅栏填充法;边界标志法。多边形的扫描转换4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第三页,共五十五页2022/10/19西安工程大学计算
3、机图形学4v多边形扫描转换算法对多边形的形状没有限制,但多边形的边界必须是封闭的,且不自交。我们可以将多边形分为三种:v多边形分为凸多边形、凹多边形、含内环的多边形。多边形的扫描转换4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第四页,共五十五页2022/10/19西安工程大学计算机图形学5矩形的扫描转换v问题:矩形是简单的多边形,那么为什么要单独处理矩形?比一般多边形可简化计算。比一般多边形可简化计算。应用非常多,窗口系统应用非常多,窗口系统。共享边界如何处理?v原则:左闭右开,下闭上开原则:左闭右开,下闭上开属于谁?属于谁?4.3、多边形的扫描转换与区域填充、多边形的
4、扫描转换与区域填充本讲稿第五页,共五十五页2022/10/19西安工程大学计算机图形学7void FillPolygonPbyP(Polygon*P,int polygonColor)int x,y;for(y=ymin;y=ymax;y+)for(x=xmin;x e,dye,dyik+1ik+1成立时,则由区域的连贯性可知成立时,则由区域的连贯性可知d d的交点序列和的交点序列和e e的交点序列之间有的交点序列之间有以下关系:以下关系:1 1)两序列元素的个数相等,如上图所示。)两序列元素的个数相等,如上图所示。2 2)点)点(x(xeireir,e),e)与与(x(xdjrdjr,d),
5、d)位于多边形位于多边形P P的同一边上的同一边上 于是于是 x xeireir=x=xdjrdjr+1/k+1/kjrjr (2)(2)这样,运用递推关系式这样,运用递推关系式(2)(2)可直接由可直接由d d的交点序列获得的交点序列获得e e的交点序列。的交点序列。以上性质称为边的连贯性,它是区域的连贯性在相邻两扫描线上的反以上性质称为边的连贯性,它是区域的连贯性在相邻两扫描线上的反映。映。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充扫描线算法_边的连贯性本讲稿第十七页,共五十五页2022/10/19西安工程大学计算机图形学18u当扫描线与多边形当扫描线与多边形P P的交
6、点是的交点是P P的顶点时,则称该交点为的顶点时,则称该交点为奇点奇点。u以上所述多边形的三种形式的连贯性都基于这样的几何事实:以上所述多边形的三种形式的连贯性都基于这样的几何事实:每一条每一条扫描线扫描线与与多边形多边形P P的边界的边界的交点个数都是的交点个数都是偶数偶数。但。但是如果把每一奇点简单地计为一个交点或者简单地计为两个交是如果把每一奇点简单地计为一个交点或者简单地计为两个交点,都可能出现奇数个交点。那么如果保证交点数为偶数呢?点,都可能出现奇数个交点。那么如果保证交点数为偶数呢?奇点的处理4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第十八页,共五十五页2
7、022/10/19西安工程大学计算机图形学19奇点的处理v若奇点做一个交点处理,则情况若奇点做一个交点处理,则情况A,交点个数不是偶数。,交点个数不是偶数。v若奇点做两个交点处理,则情况若奇点做两个交点处理,则情况B,交点个数不是偶数。,交点个数不是偶数。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充AB本讲稿第十九页,共五十五页2022/10/19西安工程大学计算机图形学20奇点的处理v多多边边形形P P的的顶顶点点可可分分为为两两类类:极极值值奇奇点点和和非非极极值值奇奇点点。如如果果(y yi-1i-1 -y yi i)(y)(yi+1i+1 -y yi i)0)0,则则
8、称称顶顶点点P Pi i为为极极值值点点;否否则则称称P Pi i为为非极值点。非极值点。v规规定定:奇奇点点是是极极值值点点时时,该该点点按按两两个个交交点点计计算算,否否则则按按一一个个交交点点计计算。算。v奇点的预处理:奇点的预处理:4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充Pi处理前的处理前的边边处理后的处理后的边边y=yi+1y=yiy=yi-1扫扫描描线线本讲稿第二十页,共五十五页2022/10/19西安工程大学计算机图形学214.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充Pi处理前的处理前的边边处理后的处理后的边边y=yi+1y=yiy=yi-
9、1扫扫描描线线本讲稿第二十一页,共五十五页2022/10/19西安工程大学计算机图形学22数据结构与实现步骤算法基本思想:算法基本思想:算法基本思想:算法基本思想:首首 先先 取取 d=yd=yinin。容容 易易 求求 得得 扫扫 描描 线线 y=dy=d上上 的的 交交 点点 序序 列列 为为x xdj1dj1,x,xdj2dj2,x xdjn djn,这一序列由位于扫描线,这一序列由位于扫描线y=dy=d上的多边形上的多边形P P的顶点组成。的顶点组成。由由y yinin的的交交点点序序列列开开始始,根根据据多多边边形形的的边边的的连连贯贯性性,按按从从上上到到下下的的顺顺序序求求得得各
10、各条条扫扫描描线线的的交交点点序序列列;根根据据扫扫描描线线的的连连贯贯性性,可可确确定定各各条扫描线上位于多边形条扫描线上位于多边形P P内的区段,并表示成点阵形式。内的区段,并表示成点阵形式。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第二十二页,共五十五页2022/10/19西安工程大学计算机图形学23 即算法中采用较灵活的数据结构。它由边的分类表即算法中采用较灵活的数据结构。它由边的分类表ETET(Edge Edge TableTable)和边的活化链表)和边的活化链表AELAEL(Active Edge ListActive Edge List)两部分组成。)
11、两部分组成。表结构表结构ETET和和AELAEL中的基本元素为多边形的边。边的结构由以下四个域中的基本元素为多边形的边。边的结构由以下四个域组成:组成:y ymaxmax 边的上端点的边的上端点的y y坐标;坐标;x x 在在ETET中表示边的下端点的中表示边的下端点的x x坐标,在坐标,在AELAEL中则表示边与中则表示边与扫描线的交点的坐标;扫描线的交点的坐标;x x 边的斜率的倒数;边的斜率的倒数;next next 指向下一条边的指针。指向下一条边的指针。数据结构与实现步骤4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第二十三页,共五十五页2022/10/19西安
12、工程大学计算机图形学24 边边的的分分类类表表ETET是是按按边边的的下下端端点点的的y y坐坐标标对对非非水水平平边边进进行行分分类类的的指指针针数数组组。下下端端点点的的y y坐坐标标的的值值等等于于i i的的边边归归入入第第i i类类。有有多多少少条条扫扫描描线线,就就设设多多少少类类。同同一一类类中中,各各边边按按x x值值(x x值值相相等等时时,按按xx的值)递增的顺序排列成行。的值)递增的顺序排列成行。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充数据结构与实现步骤 与与当当前前扫扫描描线线相相交交的的边边称称为为活活性性边边(active active edge
13、)edge),把把它它们们按按与与扫扫描描线线交交点点x x坐坐标标递递增增的的顺顺序序存存入入一一个个链链表表中中,边边的的活活化化链链表表 (AELAEL,Active edge table),Active edge table)。它记录了多边形边沿扫描线的交点序列。它记录了多边形边沿扫描线的交点序列。本讲稿第二十四页,共五十五页2022/10/19西安工程大学计算机图形学25数据结构 例子v已知多边形已知多边形P=(P=(P P0 0P P1 1P P2 2P P3 3P P4 4P P5 5P P6 6P P0 0);其各边坐标分别为其各边坐标分别为v(2 2,5 5)()(2 2,1
14、010)()(9 9,6 6)()(1616,1111)()(1616,4 4)()(1212,2 2)()(7 7,2 2)v建立其边表和边的活化链表建立其边表和边的活化链表4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充51015510P0P1P2P3P4P5P6e1e2e3e4e5e6e7本讲稿第二十五页,共五十五页2022/10/19西安工程大学计算机图形学2651015510P0P1P2P3P4P5P6e1e2e3e4e5e6e71234565 7-5/34122111601020109-7/41997/5ymaxxxnext例子例子_创建边表创建边表本讲稿第二十六页,
15、共五十五页2022/10/19西安工程大学计算机图形学27例子例子_创建活动边表创建活动边表y=3AEL555/34214y=8AEL10207/410511127/511160e7e5e1e2e3e4ymaxxxnext本讲稿第二十七页,共五十五页2022/10/19西安工程大学计算机图形学28算法实现步骤 当建立了边的分类表当建立了边的分类表ETET后,扫描线算法可按下列步骤进行:后,扫描线算法可按下列步骤进行:(1 1)取扫描线纵坐标)取扫描线纵坐标y y的初始值为的初始值为ETET中非空元素的最小序中非空元素的最小序号。号。(2 2)将边的活化链表)将边的活化链表AELAEL设置为空。
16、设置为空。(3 3)按从下到上的顺序对纵坐标值为)按从下到上的顺序对纵坐标值为y y的扫描线(当前扫描的扫描线(当前扫描线)执行下列步骤,直到边的分类表线)执行下列步骤,直到边的分类表ETET和边的活化链表都变和边的活化链表都变成空为止。成空为止。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第二十八页,共五十五页2022/10/19西安工程大学计算机图形学29算法实现步骤1 1)如如边边分分类类表表ETET中中的的第第y y类类元元素素非非空空,则则将将属属于于该该类类的的所所有有边边从从ETET中取出并插入边的活化链表中。递增方向排序。中取出并插入边的活化链表中。递增
17、方向排序。2 2)若若相相对对于于当当前前扫扫描描线线,边边的的活活化化链链表表AELAEL非非空空,则则将将AELAEL中中的的边边两两依次配对,依此类推。并填色。两两依次配对,依此类推。并填色。3 3)将边的活化链表)将边的活化链表AELAEL中满足中满足y=yy=ymaxmax的边删去。的边删去。4 4)x:=x+x:=x+xx。5 5)y:=y+1y:=y+1。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第二十九页,共五十五页2022/10/19西安工程大学计算机图形学30扫描线算法v特点:算法效率比逐点填充法高很多。v缺点:对各种表的维持和排序开销太大,适合软
18、件实现而不适合硬件实现。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第三十页,共五十五页2022/10/19西安工程大学计算机图形学31边缘填充算法求余运算求余运算:假定A为一个正整数,则M的余定义为A M,记为 。计算机中取A为n位能表示的最大整数。即,A=0 xFFFFFFFFA=0 xFFFFFFFF由来由来:光栅图形中,如果某区域已着上值为M的颜色值做偶数次求余运算,该区域颜色不变;而做奇数次求余运算,则该区域颜色变为值为 的颜色。这一规律应用于多边形扫描转换,就为边缘填充算法。算法基本思想算法基本思想:对于每条扫描线和每条多边形边的交点,将该扫描线上交点右方的
19、所有象素取余。4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第三十一页,共五十五页2022/10/19西安工程大学计算机图形学321 1、将当前扫描线上的、将当前扫描线上的 所有象素着上所有象素着上 颜色;颜色;2 2、求余:、求余:for(i=0;i=m;i+)for(i=0;i=m;i+)在当前扫描线上,在当前扫描线上,从横坐标为从横坐标为XiXi的交的交 点向右求余;点向右求余;算法1(以扫描线为中心的边缘填充算法)4.3、多边形的扫描转换与区域填充、多边形的扫描转换与区域填充本讲稿第三十二页,共五十五页2022/10/19西安工程大学计算机图形学33 1、将绘图窗
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 二维图形的生成精选文档 第四 二维 图形 生成 精选 文档
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内