7-8二维填充图元生成研讨.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7-8二维填充图元生成研讨

北大计算机系多媒体与人机交互 5.1 扫描转换矩形 方法: 问题: 矩形是简单的多边形,那么为什么要单独处理矩形? 比一般多边形可简化计算。 应用非常多,窗口系统。 边界如何处理? 原则:左闭右开,下闭上开 5.2 扫描转换多边形 多边形的表示方法 顶点表示 点阵表示 扫描转换多边形:将顶点表示形式转换成点阵表示形式 三种方法:逐点判断法;扫描线算法;边缘填充法 如何判断点在多边形的内外关系? 1)射线法 2)累计角度法 3)编码法 2)累计角度法 步骤 从V点向多边形P顶点发出射线,形成有向角 计算有向角的和,得出结论 离散计算方法:编码方法 3)编码方法:累计角度方法的离散方法 Step: a. 预处理,测试点在边上否? b. V为原点作局部坐标系,对象限按逆 时针(或顺时针)编码; c. 顶点编码Ipi, d. 边编码。PiPi+1: △PiPi+1=Ipi+1-Ipi e. 计算∑ △PiPi+1 (其中△PnPn+1 = △PnP0): 若 ∑ 为0, V在P外; 若 ∑ 为+/-4,V 在P内; 逐点判断法程序简单, 速度太慢,效率低。 2、扫描线算法 目标:利用相邻像素之间的连贯性,提高算法效率 处理对象:非自交多边形 (边与边之间除了顶点外无其它交点) 基本原理 一条扫描线与多边形的边有偶数个交点 步骤(对于每一条扫描线): (1)求交点 (2)交点排序 (3)交点配对,填充区段。 边的连贯性(确定交点) 第一类交点:位于同一条边上 的后继交点(中点算法) 第二类交点:新出现的边与扫 描线的交点(顶点即为交点) 交点的取整规则 要求:使生成的像素全部位于多边形之内 用于线画图元扫描转换的四舍五入原则导致部分像素位于多边形之外,从而不可用 规则如下 假定非水平边与扫描线y=e相交, 交点的横坐标为x 规则(2): 交点位于边界上时,象素的取舍问题。 边界象素:规定落在右上边界的象素不予填充。 具体实现时,只要对扫描线与多边形的相交区间左闭右开 规则(3): 扫描线与多边形的顶点相交时,交点的取舍,保证交点正确配对。 解决方法: 检查两相邻边在扫描线的哪一侧。 只要检查顶点的两条边的另外两个端点的Y值,两个Y值中大于交点Y值的个数是0,1,2,来决定取0,1,2个交点。 1)活化边: 与当前扫描线相交的边。按交点x(x相同则按deltax)递增顺序存放在一个链表中;该链表称作活化边表(AEL)。 2)边的分类表(ET) 按照边的下端点y坐标对非水平边进行分类的指针数组。下端点y坐标值等于i的边属于第i类,同一类边按x (x相同则按deltax)递增的顺序排列。 算法 3、边缘填充算法 ▼求余运算:假定A为一个正整数,则M的余定义为 A – M, 记为 。计算机中取A为n位能表示的最大整数。即,A=0xFFFFFFFF ▼由来:光栅图形中,如果某区域已着上值为M的颜色值做偶数次求余运算,该区域颜色不变;而做奇数次求余运算,则该区域颜色变为值为 的颜色。这一规律应用于多边形扫描转换,就为边缘填充算法。 ▼求余运算可用异或显示模式实现。 ▼算法基本思想:对于每条扫描线和每条多边形边的交点,将该扫描线上交点右方的所有像素取余。 算法(1)(以扫描线为中心的边缘填充算法) a、将当前扫描线上的 所有象素着上 颜色; b、求余: for(i = 0;i = m; i++) 在当前扫描线上, 从横坐标为Xi的交点 向右求余; 算法(2)(以边为中心的边缘填充算法) a、将绘图窗口的背景色置为 ; b、对多边形的每一条非水平边做: 从该边上的每个象素开始向右求余; 边缘填充算法 适合用于具有帧缓存的图形系统。处理后,按扫描线顺序读出帧缓存的内容,送入显示设备。 优点:算法简单 缺点:对于复杂图形,每一象素可能被访问多次,输入/输出的量比扫描线算法大得多。 5.3 区域填充 区域:点阵表示的填充图形,像素集合 表示方法:内点表示、边界表示 内点表示 枚举出区域内部的所有像素 内部的所有像素着同一个颜色 边界像素着不同的颜色 边界表示 枚举出边界上所有的像素 边界上的所有像素着同一颜色 内部像素着不同的颜色 区域填充– 对区域重新着色的过程 将指定的颜色从种子点扩展到整个区域的过程 区域填充算法要求区域是连通的 连通性 4连通、8连通 4连通: 8连通 4连通与8连通区域的区别 连通性:

文档评论(0)

骨干 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档