- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
cg03区域填充,ps选中区域填充颜色,ps选定区域填充颜色,matlab区域填充,matlab闭合区域填充,区域填充算法,ps选择区域填充颜色,cad超级填充区域覆盖,区域填充,ps区域填充
区域填充的算法 多边形填充 实面积图形 填充后的多边形称为实面积图形,实面积图形在其封闭的轮廓内具有相同的颜色,这意味着要填充光栅显示器上封闭图形内的每一个像素点。实面积图形既能描述物体的几何轮廓,又能表现物体的表面颜色,与人们观察物体表面的习惯相一致,同时,实面积图形也是描述三维物体、绘制三维真实感图形的基础。 多边形的定义 1.凸多边形 多边形上任意两顶点间的连线都在多边形之内,凸点对应的内角小于180度,只具有凸点的多边形称为凸多边形。 2.凹多边形 多边形上任意两顶点间的连线有不在多边形内部的部分,凹点对应的内角大于180度,有凹点的多边形称为凹多边形。 环 多边形内包含有另外的多边形。如果规定每条有向边的左侧为期内部面积区域,则当观察者沿着边界行走时,内部区域总在其左侧,也就是说多边形外轮廓线的环行方向为逆时针,内轮廓线的环行方向为顺时针。这种定义了环行方向的多边形称为环。 多边形的表示 顶点表示法 多边形的顶点表示法是用多边形的顶点序列来描述。特点是直观、占内存少,易于进行几何变换,但由于没有明确指出哪些像素在多边形内,所以不能直接进行填充,需要对多边形进行扫描转换。 点阵表示法 多边形的点阵表示法就是用多边形覆盖的像素点集来描述。特点是便于直接确定实面积图形覆盖的像素点,是多边形填充所需要的表示形式,但是缺少了多边形顶点的几何信息。 多边形的扫描转换 将多边形的描述从顶点表示法变换到点阵表示法的过程,称为多边形的扫描转换。即从多边形的顶点信息出发,求出多边形内部的各个像素点信息。 多边形的填充 多边形的填充是指从多边形的顶点信息出发,求出其覆盖的每个像素点,置为填充色,而将多边形外部的像素点保留为背景色。多边形填充的主要工作是确定穿越多边形内部的扫描线的覆盖区间。 首先确定多边形覆盖的扫描线条数,对每一条扫描线,计算机扫描线与多边形边界交点区间。然后再将该区间内的像素赋予指定的颜色。 区域填充 区域是指一组相邻而又具有相同忏悔的像素,可以理解为多边形的内部。区域的边界色和填充色不一致,填充算法只对区域内部进行填充。种子填充算法是从给定的种子位置开始,按填充颜色点亮种子的相邻像素考虑到颜色不同的边界像素为止。种子填充算法主要有4邻接点简洁和8邻接点算法。 区域填充算法 区域填充可以分两步进行,第一步先确定需要填充哪些象素。第二步确定用什么颜色值来填充。 1.? 扫描线多边形域的填充 基本原理:按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的象素,即完成填充工作。区间的端点可以通过计算扫描线与多边形的界线的交点获得。 有效边和有效边表 有效边:多边形内与当前扫描线相交的边称为有效边。在处理一条扫描线时仅对有效边进行求交运算,可以避免与多边形的所有边求交,提高了算法效率。 有效边表:把有效边按照与扫描线交点x坐标递增的顺序存放在一个链表中,称为有效边表(cactive edge table,AET) 桶表和边表 边表:从有效边表的建立过程可以看出,有效边表缎带出了扫描线和有效边交点坐标的计算机方法,但是没有给出新边出现的位置坐标。为了确定在哪条扫描线上手稿了新边,就需要构造一个边表(edge table,ET),用以存放扫描线上多边形各条边出现的信息。 桶表和边表的表示法 首先构造一个纵向扫描线链表,链表的长度为多边形所占有的最大扫描线数,链表的每个结点称为桶,对应多边覆盖的每一条扫描线。 将每条边的信息链入与该最小y坐标(ymin)相对应的桶处。 对于每一条扫描线,如果新增多条边,则按x|ymin坐标递增的顺序存放在一个链表中,若x|ymin相等,则按照1/k由小到大排序,这样就形成了边表。 边填充算法 使用栅栏 为了减少边填充算法访问象素的次数,可引入栅栏。栅栏指的是一条与扫描线垂直的直线,栅栏位置通常取过多边形顶点、且把多边形分为左右两半。 栅栏填充算法的基本思想是:对于每个扫描线与多边形边的交点,就将交点与栅栏之间的象素取补。若交点位于栅栏左边,则将交点置右,栅栏之左的所有象素取补;若交点位于栅栏的右边,则将交点置左,交点之左的象素取补。栅栏填充算法只是减速少了被重复访问的角素的数目,但仍有一些象素会被重复访问。 边标志算法 边标志算法(轮廓填充算法)可使每个象素访问一次。首先对多边形的每条边进行直线扫描转换,即对多边形边界所经过的像素打上标志;然后对每条与多边形相交的扫描线依次从左到右顺序,逐个访问该扫描线像素,使用一个布尔量inside来指示当前点的状态,inside的初始值为False。每当当前的访问像素为打上边标志的点,就将inside取反,对未打标志的像素,inside不变;对inside作必要操作后,若inside为真,是
文档评论(0)