【问题标题】:How to calculate the non-intersecting area of two polygons?如何计算两个多边形的不相交面积?
【发布时间】:2020-01-07 19:43:45
【问题描述】:

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

【问题讨论】:

  • 你对这些多边形了解多少?周长?它们是循环的吗?常规的?目前这个问题太模糊了。
  • 我们对多边形一无所知。它们可以是任何东西。

标签: geometry polygon computational-geometry


【解决方案1】:

Vatti's clipping algorithm 可以处理任意多边形并允许找到“异或”剪切多边形。然后你可以计算结果的面积。

该算法用于Clipper library(开源,绑定了一些编程语言)

【讨论】:

    【解决方案2】:

    根据鞋带公式,多边形的面积很简单,不重叠的面积是各个面积的总和减去交点的面积。

    必须明确计算相交多边形,例如使用 Weiler & Atherton 裁剪算法。 https://en.wikipedia.org/wiki/Weiler%E2%80%93Atherton_clipping_algorithm.

    请注意,实现并非易事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 2014-02-01
      • 2012-04-07
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      相关资源
      最近更新 更多