计算机图形学-多边形区域裁剪.pptx

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

多边形区域填充工本13梁宝新

多边形区域(简称多边形):是指由若干直线段围城的平面封闭图形。多边形与裁剪窗口间的位置关系:(四种)1.多边形完全在窗口内2.多边形完全在窗口外3.多边形完全包含了裁剪窗口4.多边形与裁剪窗口重叠

4.多边形与裁剪窗口重叠此种情况已不能仅通过判断顶点是否可见来获取剪裁结果,需通过裁剪算法减去窗口外的图形。多边形裁剪后应仍是封闭图形,所以多边形的裁剪不仅是对边的裁剪,更重要的是如何形成正确的封闭区域。可能形成一个或两个以上的多边形区域简单用直线裁剪的方法难以实现,需要用适合多边形区域裁剪特点的算法!

逐边裁剪法I.E.SutherlandHodgman思路:当矩形窗口为裁剪窗口时1.以窗口四条边的延长线进行裁剪,以裁剪窗口所在一侧为可见区域2..以直线对图形裁剪,去掉不可见,保留可见区域并封闭3.按顺序依次边裁剪,记录可见点和边与裁剪线交点,构成正确的封闭多边形,并将每次裁剪的结果作为下次的对象。

记录顶点的判断逐边裁剪法的实质使用四条边依次对多边形各边进行裁剪。每次裁剪的结果都是输出一个多边形的顶点表。(多边形的每一个顶点都是一条边的终点,又是下一条边的起点,我们统一将顶点作为边的终点进行判断和处理。)当多边形的一条边被窗口的一条边的延长线裁剪后需输出裁剪结果,即记录需要保留的顶点(或交点)但应保留哪些点取决于该边与裁剪线的位置关系。被裁多边形的边与裁剪线之间的位置关系存在四种可能的情况:边的起点在不可见区域,终点在可见区域,此时,需保留边与裁剪线的交点和边的终点。②边的起点和终点都在可见区域,此时,只需保留边与裁剪线的交点和边的终点。③变得起点在可见区域,终点在不可见区域,此时只需保留边与裁剪线的交点。④边到起点和终点都在不可见区域,此时,没有需要保留的点。

多边形逐边裁剪法思路清晰,算法简单,易于程序的实现能保证裁剪后的多边形顶点顺序正确,可用于凸多边形或凹多边形的裁剪。该裁剪方法较适用于矩形裁剪窗口,如果是多边形裁剪窗口时,用该算法处理就复杂的多。双边法可以可以更好的处理多边形裁剪窗口的多边形裁剪问题。

双边裁剪法WeilerAtherton多边形窗口裁剪问题就是用段变形裁剪窗口去裁剪多边形。

思路:裁剪算法从一个进入交点开始,然后沿主多边形的边界正方向遍历,直至遇到与窗口多边形的交点。在交点处顺时针方向旋转,再沿窗口多边形的正方向遍历,直至遇到与主多边形的交点,这表示主多边形又将进入裁剪多边形的内部。在交点处顺时针方向旋转,再沿主多边形的边正方向遍历,重复这个过程直至遇到这个裁剪过程的开始点,便得到裁剪窗口内的封闭多边形。遍历:所谓遍历是指沿着某搜索路线,依次对树中每个结点做一次且仅做一次的访问。P1被裁减多边形P2为裁剪边框

多边形的边界均用其定点序列来表示,多边形的外部边界取顺时针方向(其内部边界或内孔取逆时针方向),保证当遍历环形顶点表时,多边形内部总是位于前进方向的右侧,依次定义了多边形边界的正方向。交点判定规则:①当主多边形的一条边位于窗口多边形的一条边上时,两条边看作没有交点。②当主多边形的一个顶点位于窗口多边形上时,作为主多边形的一条边的起点,这个顶点应看作不是交点。③当主多边形的一个顶点位于窗口多边形上时,,作为主多边形的一条交点,这个顶点应看做一个交点。④当主多边形的一条边与窗口多边形的交点不是主多边形的一个顶点时,是一个正常的交点。其类型为:如果该边的起点在裁剪多边形外,则该交点是进入交点;反之如果该边的起点在裁剪多边形内,则该交点是离开交点。

TheEnd.

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档