没有孔的多边形联合

Pax*_*x0r 21 algorithm math geometry polygon computational-geometry

我正在寻找一些相当容易的(我知道多边形联合不是一个简单的操作,但也许有人可以用一个相对简单的方法指向我的方法)合并两个相交的多边形.多边形可以是没有孔的凹面,输出多边形也不应该有孔.多边形以逆时针方式表示.我的意思是在图片上显示.正如你所看到的那样,即使在多边形的组合中有一个洞,我也不需要它在输出中.输入多边形肯定没有洞.我认为没有漏洞应该更容易,但我仍然没有想法. 多边形 - 输入蓝色和红色,输出绿色

tsk*_*zzy 13

  1. 删除位于另一个多边形内的多边形的所有顶点:http://paulbourke.net/geometry/insidepoly/
  2. 选择一个保证在联合多边形中的起点(其中一个极值可以工作)
  3. 以逆时针方式跟踪多边形的边缘.这些是你工会的要点.跟踪直到您到达交叉点(请注意,边可能与另一个多边形的多个边相交).
  4. 找到第一个交叉点(如果有多个交叉点).这是你们工会的一个观点.
  5. 使用另一个多边形返回步骤3.下一个点应该是与前一个边缘成最大角度的点.