计算机图形学第四章光栅转化与消隐(1).pptVIP

计算机图形学第四章光栅转化与消隐(1).ppt

  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文档。上传文档
查看更多
2008.9.25 图形的光栅转化 内容 基本概念 区域填充 多边形的扫描转换 多边形的扫描转换与区域填充的比较 内容 基本概念 区域填充 多边形的扫描转换 多边形的扫描转换与区域填充的比较 光栅图形的基本概念 关于光栅图形 本质:点阵表示 特点:面着色,画面明暗自然、色彩丰富 与线框图相比:更加生动、直观、真实感强 光栅图形的基本概念 光栅图形的基本概念 关于平面多边形 图形学中的多边形:无自相交的简单多边形 图形学中多边形的两种表示方式 顶点表示:用多边形的有序顶点序列表示多边形 点阵表示:用位于多边形内部的像素集合来表示多边形 顶点表示 优点 直观 几何意义明显 存贮量小 不足 难以判断哪些像素位于多边形内部 不能直接用于多边形着色 点阵表示 优点 便于用帧缓冲器(frame buffer)表示图形 面着色所需的图形表示 缺点 丢失了几何信息 占用存储空间多 多边形的扫描转换 多边形的扫描转换:把顶点表示转换为点阵表示 从多边形的给定边界出发,求出其内部的各个像素 并给帧缓冲器中各个对应元素设置相应灰度或颜色 主要内容 基本概念 区域填充 四连通区域和八连通区域 连通区域的种子填充算法 多边形的扫描转换 多边形的扫描转换与区域填充的比较 点阵表示的区域填充 区域填充是指先将区域内的一点(常称种子点)赋予给定颜色,然后将这种颜色扩展到整个区域内的过程。 4.1 区域填充 区域是指已经表示成点阵形式的像素集 合。在光栅图形中,区域可采用内点表示 和边界表示两种形式进行描述。 1)4连通的区域: 取区域内任意两 点,在该区域内若从其中一点出发 通过上、下、左、右四种运动可到 达另一点。 3) 4连通区域也可理解成8连通区域,即4连通能达到的8连通肯定能达到,4连通只是8连通的一种特殊情况。 区域的类型 内部表示区域种子填充算法 假设内部表示区域为G,其中的像素原有颜色为G0,需要填充的颜色为G1。 算法需要提供一个种子点(x,y),它的颜色为G0。 具体算法如下(四连通区域) 内部表示区域种子填充算法 Flood_Fill_4(x, y, G0, G1) { if(GetPixel(x,y) ==G0 ) // GetPixel(x,y) 返回(x,y)的颜色 { SetPixel(x, y, G1); //将(x,y)的添上颜色G1 Flood_Fill_4(x-1, y, G0, G1); Flood_Fill_4(x, y+1, G0, G1); Flood_Fill_4(x+1, y, G0, G1); Flood_Fill_4(x, y-1, G0, G1); } } 边界表示区域种子填充算法 Fill_Boundary_4_Connnected(x, y, BoundaryColor, InteriorColor) // (x,y) 种子像素的坐标; // BoundaryColor 边界像素颜色; InteriorColor 需要填充的内部像素颜色 { if(GetPixel(x,y) != BoundaryColor GetPixel(x,y)!= InteriorColor ) // GetPixel(x,y): 返回像素(x,y)颜色 { SetPixel(x, y, InteriorColor); // 将像素(x, y)置成填充颜色 Fill_Boundary_4Connnected(x, y+1, BoundaryColor, InteriorColor); Fill_Boundary_4Connnected(x, y-1, BoundaryColor, InteriorColor); Fill_Boundary_4Connnected(x-1, y, BoundaryColor, InteriorColor); Fill_Boundary_4Connnected(x+1, y, BoundaryColor, InteriorColor); } } 内容 基本概念 区域填充 多边形的扫描转换 逐点判断算法 扫描线算法 连贯性概念:区域、扫描线、边 奇异点的处理 算法的数据结构与实现 多边形的扫描转换与区域填充的比较 1、表示方法:顶点表示和点阵表示 2、逐点判断算法 逐点判断算法:逐个像素判别其是否位于多边形内部 判断一个点是否位于多边形内部:射线法 从当前像素发射一条射线,计算射线与多边形的交点个数 内部:奇数个交点 外部:偶数个交点 逐点判断算法 逐点判断算法 算法描述 for(y=0; y=y_resolution; y++) for(x=0; x=x_res

文档评论(0)

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

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

1亿VIP精品文档

相关文档