计算机图形学基础教程(Visual_C++版)第04章_多边形填充(清华大学出版社_孔令德).ppt

计算机图形学基础教程(Visual_C++版)第04章_多边形填充(清华大学出版社_孔令德).ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学基础教程(Visual_C版)第04章_多边形填充(清华大学出版社_孔令德),计算机图形学孔令德,孔令德,多边形建模,多边形,多边形内角和公式,多边形背景,多边形的内角和,低多边形,cad圆变成多边形

图 扫描线种子填充算法过程 * 区域填充算法——泛填充算法 算法的输入:种子点坐标(x,y),填充色和内部点的颜色。 算法原理:算法从指定的种子(x,y)开始,用所希望的填充颜色赋给所有当前为给定内部颜色的象素点。 * 种子象素入栈; 栈非空时重复执行如下三步操作: (1)栈顶象素出栈; (2)将出栈象素置成填充色; (3)检查出栈象素的8-邻接点,若其中某个象素点是给定内部点的颜色,则把该象素入栈。 区域填充算法——泛填充算法 * 相关概念——内外测试 图 不自交的多边形与自相交的多边形 * 奇-偶规则(Odd-even Rule) 从任意位置p作一条射线,若与该射线相交的多边形边的数目为奇数,则p是多边形内部点,否则是外部点。 相关概念——内外测试 * 非零环绕数规则(Nonzero Winding Number Rule) 首先使多边形的边变为矢量。 将环绕数初始化为零。 再从任意位置p作一条射线。当从p点沿射线方向移动时,对在每个方向上穿过射线的边计数,每当多边形的边从右到左穿过射线时,环绕数加1,从左到右时,环绕数减1。 处理完多边形的所有相关边之后,若环绕数为非零,则p为内部点,否则,p是外部点。 相关概念——内外测试 * 两种规则的比较 相关概念——内外测试 * 相交计算中包含了非线性边界 对于简单曲线: (1)计算曲线相对两侧的两个扫描线交点 (2)简单填充在曲线两侧上的边界点间的水平象素区间。 相关概念——曲线边界区域填充 4.5 本章小结 多边形的填充原理 有效边表算法:从边的角度考虑 AET表表示的是扫描线在一条边上的连贯性,ET表表示的是新边在扫描线上的插入位置,ET表是AET表的特例。 边缘填充算法 种子填充算法:从种子点开始扩散 边界填充算法和泛填充算法 注意区分四连通域和八连通域 4.6 习题 试写出图4-33所示多边形的边表和扫描线y=4的有效边表。 P0 P1 P2 P3 P4 P5 P6 图4-33 多边形 4.6 习题 2.给定四个点绘制图4-34所示的不同转角的两个正方形,使用有效边表算法进行填充,填充效果如图4-35所示,注意采用“左闭右开” 和“上闭下开”的原则,使得每个正方形的右边界和下边界没有填充。 图4-34 填充正方形 图4-35 正方形填充效果图 4.6 习题 3.图4-36所示的每个正方形由两个三角形面片组成,可以通过填充三角形面片完成正方形的填充任务,填充效果如图4-37所示。请编程实现并观察在每个正方形的三角形面片连接处是否填充完整。 图4-36 三角形面片填充正方形 图4-37 正方形填充效果图 4.6 习题 4.图4-38所示的每个正方形由两个三角形面片组成,可以通过填充三角形面片完成正方形的填充任务,填充效果如图4-39所示。请修改上题的三角形定义编程实现。 图4-38 三角形面片填充正方形 图4-39 正方形填充效果图 4.6 习题 5.图4-40所示正方形由4个三角形面片组成,可以通过填充三角形面片完成正方形的填充任务。使用有效边表算法编程实现,填充效果如图4-41所示。请观察在每个正方形的三角形连接处是否有没有填充到的线段。 图4-40三角形面片填充正方形 图4-41 正方形填充效果 4.6 习题 6.绘制一个正方形,把正方形四等分,如图4-42所示,使用红、绿、黄、蓝四种颜色填充每个小四边形面片,如图4-43所示,请使用有效边表算法编程实现。 图4-42四边形面片填充正方形 图4-43 正方形填充效果图 4.6 习题 7.边缘填充算法中,像素的取补范围为每条边到屏幕整个客户区的右边界。请设置如图4-44所示的外接矩形,并使用边缘填充算法编程实现多边形的填充。填充效果如图4-45所示。 图 4-44 带外接矩形的多边形 4-45带外接矩形的多边形填充效果图 4.6 习题 8.边缘填充算法的最大缺点是填充过程中,每一个像素可能被多次访问。为此,常在多边形外接矩形的中心设置栅栏,把多边形分成两部分,如图4-46所示。在处理每条扫描线时,只将交点与栅栏间的像素取补,请编程实现。填充效果如图4-47所示。 图 4-46 带栅栏的的多边形 4-47 带栅栏的多边形填充效果图 4.6 习题 9.设定图4-48所示的八连通区域边界色为黑色,填充色为蓝色,请使用八邻接点算法编程填充八连通域。请注意图中两个四边形区域的连接处的放大效果如图4-49所示。 图 4-48八连通域

您可能关注的文档

文档评论(0)

gooddoc + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档