我正在调查用 Objective C、C 或 C++(按优先顺序)实现的多边形/几何算法库。我有非常具体的需求,所以我想我会询问社区,看看是否有人知道满足部分或全部需求的一个,因为我更愿意使用一个库/API 来满足我的所有需求。这是我需要能够做的:
- 2 个多边形的交集
- 确定两个多边形是否一致(即形状和大小相同,尽管它们可能被旋转或镜像)
- 凸多边形的 2d 装箱(又称片材切割 - 或开放式装箱,因此我最大限度地利用了一系列固定宽度的 Material )
- 与#3 相同,但用于凹多边形
- 能够获取一组线段,其中一些线段共享端点,一些线段彼此相交,并将其变成一组多边形
- 与 #5 相同,但增加了检测带孔的多边形并将其分成 2 个多边形(至少其中一个是凹面)的能力
- 奖励:以上任何或所有具有由直线和曲线组成的闭合形状
这些按优先顺序排列,我可以解决其中任何一个缺失的问题(我的应用程序变得不太有用)。例如,如果我有一个只做 1 和 2 的库,我会发现它比做 3-7 的库更有用。
最佳答案
在 C++ 中,它存在一些库来处理多边形几何,但我不知道一个完全符合您需求的库。
我知道一个非常有用的 C++ 库是 CGAL .它涵盖了您的部分需求,但不是全部。
关于c++ - 寻找具有特定功能的多边形几何库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586535/