如何计算两个多边形的非相交面积?

时间:2020-01-07 19:43:45

标签: geometry polygon computational-geometry

是否有一种算法可以给我两个任意多边形的非重叠部分的面积?我找不到能概括两个任意多边形的任何东西。

2 个答案:

答案 0 :(得分:2)

Vatti's clipping algorithm可与任意多边形配合使用,并允许查找“异或”裁剪多边形。然后,您可以计算结果区域。

enter image description here

此算法用于Clipper library(开放源代码,具有对某些编程语言的绑定)

答案 1 :(得分:0)

根据鞋带公式,多边形的面积是直截了当的,非重叠面积是各个面积的总和减去相交的面积。

例如,必须使用Weiler&Atherton裁剪算法显式计算交集面。 https://en.wikipedia.org/wiki/Weiler%E2%80%93Atherton_clipping_algorithm

请注意,实现并非无关紧要。