基于交集创建多边形

时间:2015-06-14 21:23:25

标签: java algorithm polygon intersection

假设我有两个多边形,A和B. 多边形A的点为(0,0),(0,5)和(5,0)
多边形B在(-2,2),(5,5)和(5,2)
处具有点 我的目标是将其拆分为3个不同的多边形 多边形1将是多边形A - 它与多边形B相交 多边形2将是多边形B - 它与多边形A相交 多边形3将是交叉区域 对于多边形1和2,我可以使用java的geom.area.intersect方法 我将如何创建多边形3?

1 个答案:

答案 0 :(得分:1)

多边形1,2和3是相同的。 : - )

您可以使用intersect()获得Area Gamma。

然后你可以从多边形A中减去()区域Gamma以得到区域Alpha(在Gamma之外的A的部分),并从B中减去()Gamma以获得Beta(B之外的Gamma部分)。

要从Area转换回Polygon,使用getPathIterator(null)收集每个Area的顶点,然后将它们提供给Polygon构造函数。