【问题标题】:2D Geometry library: LGPL alternative to CGAL? [closed]2D 几何库:LGPL 替代 CGAL? [关闭]
【发布时间】:2012-02-19 12:40:54
【问题描述】:

CGAL 似乎几乎可以满足我的所有需求,并为我即将进行的项目做更多工作。它可以从弧线段创建多边形并对其进行布尔运算。它已经有空间排序包,可以在一些事情上为我节省大量时间,而且整个库看起来非常标准化且规划良好。

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

我对这样一个库的具体需求是:

  • 精确的二维欧几里得空间
  • 复杂的多边形
  • 能够具有曲线(弧)段的多边形
  • 对这些多边形的布尔运算
  • 多边形偏移
  • 多边形分割或有效三角剖分
  • 内切面积和多边形拟合算法
  • 可能是一些带有圆形范围搜索的空间排序结构

总而言之,我正在寻找一个具有精确精度的全面的 2D 几何 C++ 库。 最好使用 MIT、LGPL 或低于 500 美元的低成本一次性免版税许可。

Boost 降低了一些基本结构,但据我所知,它们缺少很多高级功能。任何对此进行扩展的库?我会考虑自己做,但我缺乏做好这件事的专业知识,这会延长我的项目时间。

为了清楚起见,我不是在寻找 2D 图形 库,只是纯粹的几何结构。

【问题讨论】:

  • 它不会解决您的问题,但请注意 CGAL 的 4.0 版本在 GPL 和 LGPL 下。
  • @sloriot 不是这样:LGPL2 的部分现在是 LGPLv3+,QPL 的部分现在是 GPLv3+:cgal.org/releases.html#release4.0 总而言之,这种许可更改对 OP 没有帮助。

标签: c++ geometry computational-geometry lgpl


【解决方案1】:

看看Wykobi。 它是一个模板库,您可以将维度模板化为 2D。

它在 MIT License 下分发。

【讨论】:

    【解决方案2】:

    看看Geometric Tools for Computer Graphics

    • 十余年精益求精
    • 令人难以置信的优秀文档,无论是硬装还是广泛的 PDF 格式
    • 提升许可证

    它满足您的所有要求:

    • 精确的二维欧几里得空间:是的
    • 复杂的多边形:是的
    • 能够具有曲线(弧)段的多边形:荒谬。经过 定义,多边形由线段组成。如果你是 寻找样条曲线和 NURBS,图书馆有它们。
    • 对这些多边形的布尔运算:是的
    • 多边形偏移:不清楚你的意思。该库当然支持翻译。
    • 多边形分区或有效三角剖分:是,Delaunay 三角剖分 和 Voronoi 地区
    • 内切面积和多边形拟合算法:是的
    • 可能是一些带有圆形范围搜索的空间排序结构:是的,空间排序和一整蒲式耳的交叉函数。

    所有这些都来自 Schneider 和 Eberly 的《Geomtric Tools for Computer Graphics》一书。这本书非常出色,清楚地介绍了算法的工作原理以及它们的局限性。作者在 Boost 许可下在线提供了代码,并将本书的大部分(全部?)在线作为 PDF 包含在每个代码模块中。他们维护一个非常有用的网站,该网站以各种方式编入索引。

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

    【讨论】:

      【解决方案3】:

      你看过Boost.Geometry图书馆吗?就功能而言,它远不及 CGAL,但它可能会对您有所帮助。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2012-11-01
          • 2010-10-29
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          • 2022-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多