《计算机图形学教学资料》第6讲-多边形填充.ppt
《《计算机图形学教学资料》第6讲-多边形填充.ppt》由会员分享,可在线阅读,更多相关《《计算机图形学教学资料》第6讲-多边形填充.ppt(60页珍藏版)》请在三一办公上搜索。
1、2023/9/1,1,本章内容,直线的扫描转换圆与椭圆的扫描转换区域填充二维裁剪字符生成反走样,第三节 区域填充,区域填充是指:在一个封闭的二维图形内部象素上着色(纹理、图案)。也称为:多边形的扫描转换。本节内容:矩形的扫描转换多边形区域填充图案填充,2023/9/1,3,矩形的扫描转换,可利用矩形的简单性提高扫描转换的效率。,问题:边界(共享边界)像素的绘制?解决:象素中心定位于矩形的左、下边界时绘制象素点。该规则适用于线画矩形及多边形以及共享顶点的情形。,2023/9/1,4,多边形填充直线的扫描转换算法,填充区间:区间端点由扫描线与多边形边界线段的交点确定,2023/9/1,5,注:多边
2、形上的区间,(a)原始端点由中点算法确定,(b)限制端点在多边形内,2023/9/1,6,实现区间填充的三个步骤,计算扫描线与多边形边界线段的交点按照x升序排列交点填充多边形内交点对之间的所有像素,?:水平线段如何处理,2023/9/1,7,区间填充策略,y=8为例:排序后的交点x坐标列表为:(2,4.5,8.5,13),如何填充?,2023/9/1,8,4舍?还是5入?,当交点的 x 坐标值是分数时需进行舍入运算。,2023/9/1,9,内?或者外?,当交点的x 坐标值是整数时,需确定该点是内点拟或是外点。,2023/9/1,10,交点为尖点,交点Pl为尖点时,可计数为:1,2或者0。如下图
3、,规则:端点纵坐标是ymin 时计数加1;端点纵坐标是ymax 时不计数,2023/9/1,11,续:,在具体实现时,对交点的后处理过程可以转化为对边界线段进行的预处理。,2023/9/1,12,扫描线与多边形边界线段交点的计算(1),交点特点:,Y方向坐标值满足:,交点界于线段两端点间:,第一个交点是其端点之一,不妨设为,?:后续交点的计算 取整?!,2023/9/1,13,扫描线与多边形边界线段交点的计算(2),记前一扫描线与边界线段交点为,当前扫描线与该边界线段有否交点可通过其纵坐标值确定。,记当前扫描线与边界线段交点为,x的取整需针对边界线段在多边形的左右两侧做不同的处理:左侧边:向右
4、取整,且当交点落在边界上时视做内部点右侧边:向左取整,且当交点落在边界上时视做外部点,2023/9/1,14,考虑到,为消除浮点数运算,以交点在左侧边为例,可增设计数器Counter,并改写交点公式为:,扫描线与多边形边界线段交点的计算(3),下一个交点对应计算器的值为:,Counter的初始值可以是:,2023/9/1,15,仍以交点在左侧边为例。(1)判断Counter的值是否大于0,(2)若不是,则直接取为xi;若是,则进行如下运算:,此时,计数器刷新为:,问题:交点在右侧边时的处理,扫描线与多边形边界线段交点的计算(4),(3)上述步骤反复执行k次,直至Counter的值小于0,此时x
5、i+k的值即为交点向右取整的结果。其截断部分仍是。,2023/9/1,16,活性边表 AET(active-edge table),引入如下的数据结构记录交点,引入Counter?,2023/9/1,17,边表(ET)的初始化,2023/9/1,18,直线的扫描转换填充算法,生成初始边表 ET;把扫描线的y值设为ET的最小y坐标;AET 初始化为空;循环直至满足终止条件:AET 和 ET 为空从ET 取值(满足ymin=y的线段)放到AET;从AET中删除满足 y=ymax的线段,然后按照x坐标排序;填充既定区间;y 增加 1;针对新的y值刷新AET中各项的 x 值.,2023/9/1,19,
6、算法伪代码,Polygongfill(polydef,color)Point polydef;int color;for(各条扫描线i)建立初始化活性边表EdgeTablei;i=0;ActiveEdgeList=0;/当前扫描线对应的活性边表初始化 for(各条扫描线i)把EdgeTablei插入ActiveEdgeList中,并排序;遍历ActiveEdgeList,把配对交点构成半开半闭区间;填充各区间;从ActiveEdgeList中删除假交点;刷新ActiveEdgeList中交点的X坐标值;/for,2023/9/1,20,曲线边界区域填充应用举例,可用类似方法(扫描转换确定出交点
7、)实现曲线边界区域的填充,但所需运算量显然比多边形更大。例:圆域的活性边表填充算法。仍假设圆心在坐标原点;每条扫描线与圆周有两个交点,填充两个交点构成的区间即可;扫描线与圆周的交点的计算,可利用圆的扫描转换结果。,2023/9/1,21,算法特点,利用了多边形边界的连贯性加速与扫描线交点的计算:算法及数据结构复杂计算效率高对每个象素只访问一次,对硬件的访问量最小,且与设备无关。引入活性边表结构,增加了维持边表及进行交点排序的开销,不适合硬件实现。,2023/9/1,22,练习题-作业4,用多边形的扫描线算法对如下多边形进行扫描转换。(其中多边形各顶点的坐标为p1(5,7),p2(5,11),p
8、3(8,13),p4(12,12),p5(12,7),p6(9,9))求该多边形的ET表用AEL表表示出多边 形扫描转换的过程,2023/9/1,23,其它填充算法,边缘填充算法种子填充算法:从区域内部一点开始填充直至边界。递归种子填充算法扫描线种子填充算法,2023/9/1,24,边缘填充算法,条件:已通过扫描线与线段求交或对线段进行扫描转换得到边界点。思路:利用求余运算代替交点排序、配对、构造填充区间。原理:象素点颜色值经过偶数次求余运算后保持不变,经过奇数次求余运算后变为其余数算法:以扫描线为中心的边缘填充算法以边为中心的边缘填充算法,像素求余运算,2023/9/1,25,以扫描线为中心
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机图形学教学资料 计算机 图形学 教学 资料 多边形 填充
链接地址:https://www.31ppt.com/p-5904099.html