假设我有两个多边形,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?
答案 0 :(得分:1)
多边形1,2和3是相同的。 : - )
您可以使用intersect()获得Area Gamma。
然后你可以从多边形A中减去()区域Gamma以得到区域Alpha(在Gamma之外的A的部分),并从B中减去()Gamma以获得Beta(B之外的Gamma部分)。
要从Area转换回Polygon,使用getPathIterator(null)收集每个Area的顶点,然后将它们提供给Polygon构造函数。