【问题标题】:3d geometry engine [closed]3d几何引擎[关闭]
【发布时间】:2011-10-24 22:48:48
【问题描述】:

我是使用 c++(或 c++0x)处理 3D 数据的新手,我正在尝试编写简单的应用程序,这将允许处理此类数据(模型、细分等)。 我正在寻找类似“3d 几何引擎”之类的东西 - 可以在内存中有效处理 3d 几何并提供 API 来修改其组件(顶点、点、多边形(不仅是三角形)、顶点属性等)的引擎。 我正在寻找类似的东西,但没有运气。如果有任何免费提供的引擎,您能否推荐任何(最好的开源)3D 几何引擎,它将具有这样的 api?

谢谢。

【问题讨论】:

  • 由于您是新来的,请务必了解接受和投票功能。
  • 我不能选择多个答案作为正确答案?所以现在我必须深入研究这两个库——OpenMesh 和 Cgeo,看看哪个更好,可以说是设计的。我知道它们都具有相似的多边形处理功能,但我想知道它们中哪个更好“设计”

标签: c++ algorithm 3d geometry


【解决方案1】:

你可以试试Graphite,一个开源的几何处理框架,比CGAL更容易处理,同时提供Delaunay等。
http://alice.loria.fr/index.php?option=com_content&view=article&id=22

这绝对比“只处理三角形和点”更先进,但为网格处理提供了有趣的通常必要的功能。

【讨论】:

    【解决方案2】:

    你可以试试http://pointclouds.org/

    根据该网站:点云库(或 PCL)是一个用于点云处理的大型开放项目。

    PCL 框架包含许多最先进的算法,包括过滤、特征估计、表面重建、配准、模型拟合和分割。

    PCL 根据 BSD 许可条款发布,是开源软件。它可免费用于商业和研究用途。我们得到了 Willow Garage、NVidia、Google 和 Toyota 的财务支持。

    【讨论】:

    • 如果我理解得很好,PCL 用于点云几何,而不是更经典的网格。这本身不是问题,只是 OP 应该注意的事情。
    • 太棒了!非常感谢您 - 我的问题与该主题无关,但它对我很有用!
    【解决方案3】:

    CGAL 提供多种网格处理算法,并带有用于精确浮点运算的自定义数字类型。

    【讨论】:

    • 谢谢! :) 我现在正在将它与其他工具进行比较,它看起来真的很有趣!:)
    • 虽然这已经很久了,但我最近一直在提出同样的问题。我基本上看过了:CGAL是HUGE,所以比较复杂,它包含了很多预建的算法,但是大部分都有GPL许可证,所以对于预算较低的商业项目可能不是最方便。另一方面,OpenMesh 相当简单,具有与商业项目 (LPGL) 兼容的灵活许可,尽管它的算法库较小。
    【解决方案4】:

    我在VTK 方面取得了一些成功。它可能不是处理网格的最佳 API,但它可以工作,并且具有很好的显示它们的功能。而且我知道至少有几个专门使用它的计算几何专家,所以它不能完全坏:)

    【讨论】:

    • 谢谢!我一定会看的!也许它不适合我的需求(因为我想开发一个大应用程序(一开始很小,但后来长大),正如你所说,它不可能是最好的 API。我会看看它:)
    【解决方案5】:

    如果您主要关心的是处理多边形网格(就像您的问题所暗示的那样,尽管“3d 几何引擎”可能意味着更广泛的含义),您可以查看OpenMesh。正如你提到的 C++0x,我假设你不是模板的敌人,所以你可能会喜欢 OpenMesh,因为它大量使用通用编程结构来组成一个易于使用但仍然非常有效的网格数据结构。它没有提供太多用于网格处理的预制算法,但有一些可能是实现您自己的算法的起点。

    【讨论】:

    • 谢谢!我将研究 OpenMesh。你能告诉我你是否与CGAL 有任何过期关系吗?你能在任何方面将它与 OpenMesh 进行比较吗?
    • @danilo2 我对 CGAL 没有任何经验。它是一个巨大的通用计算几何库,提供的不仅仅是多边形网格。我不知道它的可用性如何,但我认为它有一个庞大的社区并且被广泛使用。也许pmr对此了解更多。但如果您只对多边形网格感兴趣,那么 OpenMesh 是一个不错且快速的小型库。
    • @danilo Christian 是对的。 CGAL 巨大的,但是单个包彼此之间很好地分开(除了无处不在的内核)。您应该了解需要使用哪些算法并寻找更合适的算法。
    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2011-02-11
    相关资源
    最近更新 更多