- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章多边形填充算法
第4章 基本光栅图形生成算法 4.3 多边形的填充 4.3.1 多边形的表示方法 4.3.2 多边形填充的扫描线算法 算法特点: 奇点的处理 如果把每一奇点简单地计为一个交点,则交点个数可能出现奇数。若将每一奇点都简单地计为两个交点,同样会导致反常的结果 扫描线算法的数据结构和实现步骤 扫描线算法的数据结构 [P0P1P2P3P4P5 P6] =[(2,5) (2,10) (9,6) (16,11) (16,4) (12,2) (7,2)] [P0P1P2P3P4P5 P6] =[(2,5) (2,10) (9,6) (16,11) (16,4) (12,2) (7,2)] 扫描线算法实现步骤 步骤1:(AEL初始化)将边的活化链表AEL设置为空。 边的Y筒ET 边的活化链表 4.3.3 边缘填充算法 采用对图像进行逐位求反的方法,免去对边排序 的工作量 边缘填充算法的实现 对多边形P的每一非水平边(i=0,1,…,n)上的各像素 做向右求反运算即可 边界标志算法实例 第4章 基本光栅图形生成算法 4.4 区域填充 4.4.1 区域的基本概念 是指已经表示成点阵形式的像素集合。 4连通的区域: 取区域内任意两点,在该区域内若从其中一点出发通过上、下、左、右四种运动可到达另一点。 4.4.2 简单的种子填充算法 4.4.3 扫描线种子填充算法 从给定的种子点开始,填充当前扫描线上种子点所在的区间 算法步骤: 具体实现过程 第4章 简单光栅图形生成算法 4.5 光栅图形的反走样算法 4.5.1 光栅图形的走样现象 图形的边界呈阶梯形, 图形的细节失真, 狭小图形遗失 4.5.2 提高分辨率的反走样方法 提高分辨率的方法: 第4章 简单光栅图形生成算法 4.6 线画图元的属性控制 线宽控制 线宽控制 像素复制方法:产生具有宽度的线状图形,可以顺着扫描所生成的单像素线条轨迹,通过像素复制法来获得 优点: 实现简单 缺点: 线段两端要么为水平的,要么是竖直的 折线顶点处有缺口 图元的宽度不均匀 移动刷子 线型控制 线型控制 造成走样的原因:用离散量表示连续量引起的 因为直线、多边形、色彩边界等是连续的,而光栅图形则是由离散的像素点组成 常见走样形式 不光滑(阶梯状)的图形边界 图形细节失真 狭小图形的遗失 采用硬件: 采用高分辨率的光栅图形显示器,花费的代价大。 为了提高图形质量,需要克服或减少走样现象,减少这种 现象的算法,称为光栅图形的反走样算法 反走样算法: 采用软件: 花费的代价小,也容易实现。 1.从硬件角度提高分辨率 高分辨率显示器 显示器点距减少一倍 帧缓存容量增加到原来的4倍 输带宽提高4倍 扫描转换花4倍时间 代价高 2.从软件角度提高分辨率 高分辨率计算,低分辨率显示 像素细分技术,相当于后置滤波 1 1 1 1 算术平均 1 2 2 1 4 2 1 2 1 加权平均 只能减轻,不能消除 低分辨率显示:将一象素内的各个子象素的颜色值或灰度值的平均值作为该象素的颜色值或灰度值。求平均值时可取算术平均,也可取加权平均。 用软件提高分辨率的方法是: 高分辨率计算,低分辨率显示 高分辨率计算:将低分辨的图形显示象素划分为许多子象素, 如2×2划分,3×3划分等,然后按通常的算法计算出各个子 象素的颜色值或灰度值。 3.区域采样技术(多边形反走样) 改变边或直线的外观,模糊淡化阶梯 相当于图像的前置滤波 点 有限区域 直线有宽度 根据相交的面积值决定像素显示的亮度级别 8级灰度 0≤面积≤1/8 7/8≤面积≤1 (a) (b) (c) 0 1 2 3 4 1 2 2 3 3 4 3 4 0 边缘填充算法分析 优点: 最适合于有帧缓存的显示器 可按任意顺序处理多边形的边 仅访问与该边有交点的扫描线上右方的像素,算法简单 缺点: 对复杂图形,每一像素可能被访问多次,输入/输出量大 图形输出不能与扫描同步进行,只有全部画完才能打印 4.3.4 栅栏填充算法 此算法是为了减少边缘算法访问像素的次数而提出的 栅栏: 是一条与扫描线垂直的直线,栅栏的位置通常取过多边形顶点,能把多边形分为左右两半 栅栏填充的基本思想: 对于每个扫描线与多边形边的交点,就将交点与栅栏之间的像素取补. 若交点位于栅栏左边,则将交点之右,栅栏之左的所有像素取补 若交点位于栅栏右边,则将交点之左,栅栏之右的所有像素取补 栅栏填充的具体实现: 0 1 2 3 4 栅栏线 1 2 栅栏线 3 4 栅栏线 2 3 栅栏线 4 栅栏线 0 边界标志法: 先画边界后填色,使对帧缓冲器中的每个元素的赋值次数不超过2次。 基本思想是:先用一种特殊的颜色在帧缓冲器中将多边形的边界(水平边的部分边界除外)勾画出来。
文档评论(0)