【问题标题】:3D C++ Arbitrary Mesh Triangulation Library? [closed]3D C++ 任意网格三角剖分库? [关闭]
【发布时间】:2013-10-05 20:06:04
【问题描述】:

我正在寻找一个 C++ 库来对任意 3D 网格进行三角剖分。最好是开源的,但至少可以免费用于商业用途(所以CGAL 几乎是不可能的)。

我查看了GTS,但它是用 C 编写的(C 与 C++ 兼容吗?),它很旧,而且二进制文件适用于 Debian 平台(我需要可以在 VC++ 2008 中编译的 Windows 二进制文件或源代码)。

任何帮助将不胜感激。

另外:

如果可以使用 2D 多边形三角剖分库,例如 polypartitionpoly2tri 通过分别对每个面进行三角剖分,我可以保证每个面都保持在自己的平面上(每个面都是平的,所有顶点都在同一平面)并且没有孔。我不确定如何将面部的 3D 旋转转换为 2D 空间;我假设您需要使用面部的法线。如果您要分别对每个面进行三角剖分,我也不确定是否可以轻松地将生成的 2D 顶点合并回 3D 网格中。

【问题讨论】:

  • 您需要对开源进行定义(CGAL 是 LGPL 和 GPL 的混合体),您可能想要一个没有 copyleft 的许可证。是的,C 是兼容的。
  • 我说它可以是开源的,或者至少可以免费用于商业用途。我原以为这意味着它可以是开源的或只是二进制文件,但必须免费用于商业用途。而且 CGAL 不是(据我所知)免费用于商业用途。另外,什么是copyleft?你只是幽默还是与版权不同?
  • 啊,一个快速的谷歌告诉我什么是 copyleft。好笑,以前没听说过。是的,我想要一个没有 copyleft 的许可证。
  • 我了解,只要您提供软件的源代码,CGAL 就可以免费用于商业用途。
  • 我想你现在解决了你的问题,但是将你的脸上顶点的 2D 坐标(由点和法线定义的平面)转换为 3D 坐标,并从 3D到二维。

标签: c++ 3d open-source triangulation


【解决方案1】:

查看umeshu。 它在 MIT 许可下。

【讨论】:

  • 谢谢,但不是我需要的。是二维的。我需要 3D 三角测量。不过还是谢谢:)
【解决方案2】:

我自己解决了。事实证明,生成需要三角剖分的网格的库 Carve 不一定可免费用于商业用途,因此我必须找到替代方案。我找到了Boost(我没有意识到它有这些功能),它对我来说具有完美的许可证,免费,高质量,并且似乎具有我需要的功能。所以...万岁!

【讨论】:

    猜你喜欢
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    相关资源
    最近更新 更多