计算机图形学Chapter3-1.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文档。上传文档
查看更多
安徽师范大学数学计算机科学学院 计算机图形学 区域填充的方法主要有: (多边形域的)扫描线填充算法、区域的递归填充算法 (简单的种子填充算法) 、区域的扫描线填充算法(改进的种子填充算法)、边界标志算法等。 扫描线类算法适应于顶点表示,种子填充类算法、边界标志算法等适应于点阵表示。 安徽师范大学数学计算机科学学院 计算机图形学 3.3.1 区域的递归填充算法 (简单的种子填充算法) 内点表示:区域内的所有像素着同一颜色,而区域外的所有像素具有另外的颜色; 边界表示:区域边界上的所有像素点具有特定的颜色(可以是填充色),在区域内的所有像素均不能具有这一特定色,而且边界外的像素不能具有与边界相同的颜色。 和递归填充算法相关的两种区域的表示 安徽师范大学数学计算机科学学院 计算机图形学 边界表示的区域的递归填充算法的思想 在给出区域光栅化后的边界位置及边界颜色代码boundary_color后,现在要从多边形内部某一象素(x,y)开始按一定的填充方法对多边形进行填充。该象素称为种子点。要求填充的颜色为fill_color。 安徽师范大学数学计算机科学学院 计算机图形学 内点表示的区域的递归填充算法的思想 在给出区域光栅化后的内点的颜色代码oldcolor后,现在要从多边形内部某一象素(x,y)开始按某一种填充方法对多边形进行填充。该象素称为种子点。要求填充的颜色为newcolor。 安徽师范大学数学计算机科学学院 计算机图形学 两种填充方式 四邻法:已知象素是区域内的一点,据此向上、下、左、右4个方向测试、填色、扩散。 八邻法:已知象素是区域内的一点,据此周围8个方向测试、填色、扩散。 安徽师范大学数学计算机科学学院 计算机图形学 四连通区域指的是从区域上一点出发,可通过四个方向,即上、下、左、右移动的组合,在不越出区域的前提下,到达区域内的任意像素。 区域按连通情况又可分为四连通区域和八连通区域。 区域的递归填充算法要求区域是连通的,因为只有在连通区域中,才可能将种子点的颜色扩展到区域内的其它点。 区域的连通性 安徽师范大学数学计算机科学学院 计算机图形学 八连通区域指的是从区域内每一像素出发,可通过八个方向,即上、下、左、右、左上、右上、左下、右下移动的组合,在不越出区域的前提下,到达区域内的任意像素。 安徽师范大学数学计算机科学学院 计算机图形学 四邻法的缺点:当用四邻法填充一个八连通区域时,由于它无法填充对角线上的连通象素,因而可能造成某些区域没有被填上。 但是,如果希望两个区域填不同的颜色,用四邻法就比较合适。 安徽师范大学数学计算机科学学院 计算机图形学 八邻法的缺点:当用八邻法填充一个四连通区域时,由于它填充是按8个方向进行的,因而可能造成从对角线方向越界,造成意想不到的后果。 一般来说,四邻法比八邻法用得更普遍。因为,填不满比涂出界更容易补救。 安徽师范大学数学计算机科学学院 计算机图形学 边界表示的四连通区域的递归填充算法 。 内点表示的四连通区域的递归填充算法 。 边界表示的八连通区域的递归填充算法 。 边界表示的八连通区域的递归填充算法 。 四邻法 八邻法 安徽师范大学数学计算机科学学院 计算机图形学 四邻法种子填充程序之一 void seed_filling(x,y,fill_color,boundary_color) int x,y,fill_color,boundary_color; { int c; c=getpixel(x,y); if(c!=boundary_color c!=fill_color) { putpixel(x,y,fill_color); seed_filling(x+1,y,fill_color,boundary_color); seed_filling(x-1,y,fill_color,boundary_color); seed_filling(x,y+1,fill_color,boundary_color); seed_filling(x,y-1,fill_color,boundary_color); } } 边界表示的4连通区域的递归填充算法 安徽师范大学数学计算机科学学院 计算机图形学 四邻法种子填充程序之二 内点表示的4连通区域的递归填充算法 void Floo

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档