在图形处理中,经常会碰到对两个任意多边形进行布尔操作的情况。在这篇文章中,我们将对这一问题做一些初步探讨。
没时间细写,先写个大概思路,做了个例子放在附件里。
以多边形求交为例,基本思路是:分别求出一个多边形在另外一个多边形内部的边,合起来就是相交部分。
所以问题的关键是求线段在多边形内部的部分。这个问题分解为线段与多边形求交,线段与多边形的每条边分别求交。有交点便要将该线段分成两部分,即多边形内部和多边形外部两段,对于多边形求交的问题,我们取内部的部分。
代码中采用了二叉树的办法来表示多边形,以简化算法。