我正在寻找一种方法来计算多个重叠多边形所覆盖的公共区域。多边形都是直角的,如果这有助于使事情变得更容易。
例如:
BBBB BBBB AAA---BB AAA---BB AAAAAA AA--AA AA--AA 二 二 LLLL LLLL
我想找到 A、B 和 L 所覆盖的公共区域,这将等于:B = 5x4 = 20 + A = 6x5 = 30 + L = 4x2 + 6x2 = 20 = 70 减去重叠区域:- 10 = 60 (所有多边形覆盖的公共区域)
我需要能够满足 3 个或更多多边形占据同一区域的情况。是否有合适的算法可以将 x/y 坐标数组作为输入?(非常欢迎示例 Java 源代码)。