寻找具有特定功能的多边形几何库

Jon*_*Jon 5 c c++ geometry polygon objective-c

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

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

这些是按优先顺序排列的,我可以在没有其中任何一个的情况下解决(我的应用程序变得不太有用)。例如,如果我有一个只执行 1 和 2 的库,我会发现它比执行 3-7 的库更有用。

Yan*_*iot 3

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

我所知道的 C++ 中一个非常有用的库是CGAL。它满足您的部分需求,但不是全部。