我试图创建一个接收两个多边形作为参数的Java方法,并返回第三个多边形,表示多边形A的未与多边形B相交的部分。这里是视觉效果。
https://i.stack.imgur.com/gSAEH.png
多边形A是黑色多边形,多边形B是与多边形A相交的绿色多边形,返回的多边形是多边形A内的蓝色阴影区域。
答案 0 :(得分:1)
您需要算法或库来对多边形进行布尔运算。您的示例显示凹多边形,因此您可以使用Vatti或Greiner-Hofmann算法。
我怀疑这些方法的正确实现相当复杂,因此建议选择现成的库,例如,从this page / software(除了{{我没有看到Java支持声明) 3}},但要检查可能性)