Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二维几何体库:CGAL的LGPL替代方案?_C++_Geometry_Computational Geometry_Lgpl - Fatal编程技术网

C++ 二维几何体库:CGAL的LGPL替代方案?

C++ 二维几何体库:CGAL的LGPL替代方案?,c++,geometry,computational-geometry,lgpl,C++,Geometry,Computational Geometry,Lgpl,CGAL似乎做了我所需要的一切,为我即将到来的项目做了更多。它可以用圆弧线段创建多边形,并对其执行布尔运算。它已经有了空间分类软件包,这将在一些事情上节省我很多时间,而且整个图书馆看起来相当标准化和计划良好 对于大多数软件包(除了非常基本的软件包),许可证都是QPL(即将发布的版本4.0的GPL)的问题。我的预算很少,可能无法筹集资金为CGAL中需要它的特定软件包购买商业许可证 我对这样一个图书馆的具体需求是: 精确精度二维欧氏空间 复杂多边形 能够具有曲线(圆弧)段的多边形 对这些多边形的布

CGAL似乎做了我所需要的一切,为我即将到来的项目做了更多。它可以用圆弧线段创建多边形,并对其执行布尔运算。它已经有了空间分类软件包,这将在一些事情上节省我很多时间,而且整个图书馆看起来相当标准化和计划良好

对于大多数软件包(除了非常基本的软件包),许可证都是QPL(即将发布的版本4.0的GPL)的问题。我的预算很少,可能无法筹集资金为CGAL中需要它的特定软件包购买商业许可证

我对这样一个图书馆的具体需求是:

  • 精确精度二维欧氏空间
  • 复杂多边形
  • 能够具有曲线(圆弧)段的多边形
  • 对这些多边形的布尔运算
  • 多边形偏移
  • 多边形分割或有效三角剖分
  • 内接面积和多边形拟合算法
  • 可能是一些具有循环范围搜索的空间排序结构
总而言之,<强>我正在寻找一个完整的二维几何C++库,精度很高。< /强> 最好是与麻省理工学院、LGPL合作,或者获得一次性免版税的低成本许可证(低于500美元)

Boost简化了一些基本结构,但据我所知,它们缺少很多更高级的功能。有没有在这个基础上扩展的库?我会考虑自己做这件事,但是我没有足够的专业知识去完成它,这会延长我的项目。 为了清楚起见,我不是在寻找2D图形库,而是纯几何结构。

看看。 它是一个模板库,可以将尺寸模板化为二维

它在麻省理工学院下发行。

你看过图书馆吗?就功能而言,它与CGAL相去甚远,但它可能会对您有所帮助。

看看

  • 经过十年的改进
  • 难以置信的好文档,无论是硬装订的还是PDF格式的
  • 增强许可证
它满足您的所有要求:

  • 精确精度二维欧氏空间:是
  • 复杂多边形:是的
  • 能够有曲线(弧)段的多边形:毫无意义。通过 定义,多边形由线段组成。如果你是 查找样条曲线和NURBS时,库中有它们
  • 对这些多边形的布尔运算:是
  • 多边形偏移:不清楚您的意思。图书馆当然支持翻译
  • 多边形分割或有效三角剖分:是,Delaunay三角剖分 和沃罗诺地区
  • 内接面积和多边形拟合算法:是
  • 可能是一些具有循环范围搜索的空间排序结构:是的,空间排序和一大堆交集函数
所有这些都来自施耐德和埃伯里的书。这本书非常出色,清晰地介绍了算法的工作原理及其局限性。作者已经在Boost许可证下在线提供了代码,并将该书的大部分(全部?)作为PDF在线提供给每个代码模块。他们维护一个非常有用的网站,并以各种方式编制索引


我与作者没有任何关系,也没有任何金钱利益。我在论文中使用了他们的书,作为一个易于使用的参考资料和强大的图书馆,它非常满意

你可以试试GeoLib www.GeoLib.co.uk。没有那么多功能,但提供了布尔运算,并且非常易于使用。

这不会解决您的问题,但请注意,CGAL的4.0版在GPL和LGPL下。@sloriot不是真的:以前是LGPL2的部件现在是LGPLv3+,以前是QPL的部件现在是GPLv3+:总之,此许可更改对OP没有帮助。