- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
提高了算法效率2有效边表
第四章 多边形填充 本章内容 4.1 实面积图形的概念 4.2 x-扫描线算法 4.3 有效边表填充算法 4.4 边缘填充算法 4.5 区域填充算法 4.6 本章小结 4.7 习题 4.1实面积图形的概念 填充后的多边形称为实面积图形 实面积图形既能描述物体的几何轮廓,又能表现物体的表面色彩,与人们观察物体表面的习惯相一致 实面积图形是描述三维物体、绘制三维真实感图形的基础 4.1.1 多边形的定义 多边形是由折线段组成的封闭图形 多边形分为凸多边形、凹多边形、含内环的多边形 4.1.2 多边形的表示 在计算机图形学中,多边形有两种示方法:顶点表示法和点阵表示法。 ⑴顶点表示法 多边形的顶点表示法是用多边形的顶点序列来描述。 特点是直观、占内存少,易于进行几何变换 但由于没有明确指出哪些像素在多边形内,所以不能直接进行填充,需要对多边形进行扫描转换 ⑵点阵表示法 多边形的点阵表示法是用多边形覆盖的像素点集来描述。 特点是便于直接确定实面积图形覆盖的像素点,是多边形填充所需要的表示形式 但是缺少了多边形顶点的几何信息 ⑶多边形的扫描转换 多边形的扫描转换:将多边形的描述从顶点表示法变换到点阵表示法的过程 从多边形的顶点信息出发,求出多边形内部的各个像素点信息 4.1.3 填充区域图元 多边形扫描转换填充:通过确定横越区域的扫描线的覆盖间隔来填充 x-扫描线算法 有效边表算法 边缘填充算法(栅栏填充算法) 区域填充(种子填充):从给定的位置开始涂描直到指定的边界条件为止 边界填充算法 泛填充算法 4.2 x-扫描线算法 基本思想 按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这些区间的象素,即完成填充工作 举例 在图中,多边形覆盖了12条扫描线。扫描线y=3与多边形有4个交点(2.3,3),(4.5,3),(7,3)和(9,3)。对交点进行圆整处理后的结果为(2,3),(5,3),(7,3)和(9,3)。按x值递增的顺序对交点进行排序、配对后的填充区间为(2,5)和(7,9),共有7个像素点需要填充为指定颜色 x-扫描线算法 算法步骤: (1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax)。 (2)从y=ymin到y=ymax,每次用一条扫描线进行填充。 (3)对一条扫描线填充的过程可分为四个步骤: a.求交 :计算扫描线与多边形各边的交点 b.排序:把所有交点按x递增顺序进行排序 c.交点配对:第一个与第二个,第三个与第四个,…,第2i-1与第2i个交点配对,其中,i取1~n。每对交点就代表扫描线与多边形的一个相交区间。 d.区间填色:把这些相交区间内的像素置成多边形填充色,把区间外的像素置成背景色 x-扫描线算法 存在问题:当扫描线与多边形顶点相交时,交点的取舍问题。 x-扫描线算法 解决办法:当扫描线与多边形的顶点相交时, 若共享顶点的两条边分别落在扫描线的两边,交点只算一个; 若共享顶点的两条边在扫描线的同一边,这时交点作为零个或两个 这取决于该顶点是多边形的局部最高点(0个)还是局部最低点(2个)。如图 (b)和图 (c) 讨论 x-扫描线算法计算每条扫描线与多边形各边的交点 把多边形的所有边放在一个表中。在处理每条扫描线时,按顺序从表中取出所有的边,分别与扫描线求交 这样处理效率很低,这是因为一条扫描线往往只与少数几条边相交,甚至与整个多边形都不相交。 如何改进? 4.3 有效边表填充算法 4.3.1 填充原理 4.3.2 有效边和有效边表 4.3.3 边表 4.3.1 填充原理 在x-扫描线算法上改进: 处理一条扫描线时,仅对有效边求交 利用扫描线的连贯性: 即当前扫描线与各边的交点顺序与下一条扫描线与各边的交点顺序很可能相同或非常类似 利用多边形边的连贯性: 即当某条边与当前扫描线相交时,它很可能也与下一条扫描线相交 4.3.2 有效边和有效边表 1.有效边(Active Edge,AE) 多边形内与当前扫描线相交的边称为有效边。在处理一条扫描线时仅对有效边进行求交运算,可以避免与多边形的所有边求交,提高了算法效率。 有效边表的数据结构 class AET { public: AET(); virtual ~AET(); double x; int yMax; double k;//代替1/k AET *next; }; 2.有效边表 由于边的连贯性以及扫描线的连贯性,在当前扫描线处理完毕之后,不必为下一条扫描线从头开始构造有效边表,而只要对当前扫描线的有效边表稍作修改和更新,就可以得到下一条扫描线的有效边表。 有效边上的扫描线由起点到终点每次加1,即像素点的y坐标为:y=y+1,x坐标的变化可以按
您可能关注的文档
最近下载
- Edition女装品牌定位ppt.pptx VIP
- 二级甲等妇幼保健院评审汇报材料.pptx VIP
- 人工智能前沿专题 – 大语言模型基础导论 DeepSeek核心技术简介.pdf VIP
- 《医学美容实用技术》课件——第七章 美容文饰技术.pptx VIP
- 标准图集-04S801-2钢筋混凝土倒锥壳保温水塔(150m3、200m3、300m3).pdf
- 小儿先天性心脏病.ppt VIP
- 【复习资料】12378岩土工程勘察(名词解释+填空+问答).doc VIP
- 燃料电池金属双极板表面涂层技术条件.pdf VIP
- 化工设备机械基础课程设计-旋风分离器设计.docx VIP
- 心脏骤停与心脏性猝死课件.ppt VIP
文档评论(0)