2015任意多边形裁剪算法.docVIP

  • 13
  • 0
  • 约2.89千字
  • 约 5页
  • 2016-12-04 发布于北京
  • 举报
2015任意多边形裁剪算法

Weiler-Atherton任意多边形裁剪   Sutherland-Hodgeman算法解决了裁剪窗口为凸多边形窗口的问题,但一些应用需要涉及任意多边形窗口(含凹多边形窗口)的裁剪。Weiler-Atherton多边形裁剪算法正是满足这种要求的算法。   一、Weiler-Atherton任意多边形裁剪算法描述:   在算法中,裁剪窗口、被裁剪多边形可以是任意多边形:凸的、凹的(内角大于180o)、甚至是带有内环的(子区),见下图。   裁剪窗口和被裁剪多边形处于完全对等的地位,这里我们称:   1、被裁剪多边形为主多边形,记为A;   2、裁剪窗口为裁剪多边形,记为B。   主多边形A和裁剪多边形B的边界将整个二维平面分成了四个区域:   1、A∩B(交:属于A且属于B);    2、A-B(差:属于A不属于B);   3、B-A(差:属于B不属于A);   4、A∪B(并:属于A或属于B,取反;即:不属于A且不属于B)。   内裁剪即通常意义上的裁剪,取图元位于窗口之内的部分,结果为A∩B。   外裁剪取图元位于窗口之外的部分,结果为A-B。   观察右图不难发现裁剪结果区域的边界由被裁剪多边形的部分边界和裁剪窗口的部分边界两部分构成,并且在交点处边界发生交替,即由被裁剪多边形的边界转至裁剪窗口的边界,或者反之。由于多边形构成一个封闭的区域,所以,如果被裁剪多边形和裁剪

文档评论(0)

1亿VIP精品文档

相关文档