【问题标题】:Looking for Polygon Geometry library with specific capabilities寻找具有特定功能的多边形几何库
【发布时间】:2011-11-27 01:02:16
【问题描述】:

我正在调查以 Objective C、C 或 C++(按优先顺序)实现的多边形/几何算法库。我有非常具体的需求,所以我想我会询问社区是否有人知道满足部分或全部需求的人,因为我更喜欢使用一个库/API 来满足我的所有需求。这是我需要能够做到的:

  1. 2 个多边形的交集
  2. 确定两个多边形是否全等(即形状和大小相同,尽管它们可以旋转或镜像)
  3. 凸多边形的二维装箱(也称为片材切割 - 或开放式装箱,因此我正在最大限度地使用一系列固定宽度的材料)
  4. 与 #3 相同,但用于凹多边形
  5. 获取一组线段的能力,其中一些线段共享端点,而另一些线​​段彼此相交并将其转换为一组多边形
  6. 与 #5 相同,但增加了检测带孔多边形并将其分成 2 个多边形(其中至少一个为凹面)的能力
  7. 奖励:以上任何或所有具有由直线和曲线组成的封闭形状

这些是按优先级排序的,我可以解决其中任何一个缺失的问题(我的应用程序变得不那么有用了)。因此,例如,如果我有一个只执行 1 和 2 的库,我会发现它比执行 3-7 的库更有用。

【问题讨论】:

    标签: c++ objective-c c geometry polygon


    【解决方案1】:

    在 C++ 中,它存在一些用于处理多边形几何的库,但我不知道有一个完全符合您的需求。

    我知道的一个非常有用的 C++ 库是CGAL。它涵盖了您的一些需求,但不是全部。

    【讨论】:

    • 这个库最能满足我的需求,我喜欢有开源和商业许可证。谢谢!
    【解决方案2】:

    GEOS 涵盖了您需要的一些内容。

    GEOS 很好地实现了几何之间的空间关系(相交、接触、重叠、在内部、包含等)。

    不知道3-7是否内置(你可以做行合并(5))。

    至于 7,GEOS 不会对曲线进行建模(仅对形成线或多边形的点进行建模)。您可以在 GEOS 中定义的唯一闭合形状是多边形。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多