如何计算两个多边形的不相交面积?
How to calculate the non-intersecting area of two polygons?
有没有算法可以计算出任意两个多边形不重叠部分的面积?我找不到任何可以概括两个任意多边形的东西。
Vatti's clipping algorithm 可以处理任意多边形并允许找到 "xor" 裁剪多边形。然后你可以计算结果的面积。
此算法用于 Clipper library(开源,绑定到某些编程语言)
多边形的面积用鞋带公式很简单,非重叠面积是各个面积之和减去相交面积
相交多边形必须明确计算,例如使用 Weiler & Atherton 裁剪算法。 https://en.wikipedia.org/wiki/Weiler%E2%80%93Atherton_clipping_algorithm.
请注意,实现并不简单。
有没有算法可以计算出任意两个多边形不重叠部分的面积?我找不到任何可以概括两个任意多边形的东西。
Vatti's clipping algorithm 可以处理任意多边形并允许找到 "xor" 裁剪多边形。然后你可以计算结果的面积。
此算法用于 Clipper library(开源,绑定到某些编程语言)
多边形的面积用鞋带公式很简单,非重叠面积是各个面积之和减去相交面积
相交多边形必须明确计算,例如使用 Weiler & Atherton 裁剪算法。 https://en.wikipedia.org/wiki/Weiler%E2%80%93Atherton_clipping_algorithm.
请注意,实现并不简单。