2013-09-30 37 views
1

我正在寻找一个C++库来对任意三维网格进行三角化。最好是开源的,但至少可以免费用于商业用途(所以CGAL几乎是不可能的)。我看了一下GTS,但它是用C语言编写的(它与C++兼容?),它很旧,二进制文件用于Debian平台(我需要Windows二进制文件或可以在VC++ 2008中编译的源文件)。3D C++任意网格三角剖分库?

任何帮助将不胜感激。

此外:

如果有可能通过单独三角测量每个面使用2D多边形三角库如polypartitionpoly2tri,我可以保证每个人脸上都停留在自己的面(每面是平的,所有顶点在同一平面上)并且没有孔。我不知道如何将面部的3D旋转翻译成2D空间。我假设你需要使用脸部的法线。我也不确定如果要分别对每个面分别进行三角测量,生成的2D顶点是否可以轻松地合并回3D网格。

+1

您需要处理开放源代码的定义(CGAL是LGPL和GPL的混合体),您可能需要没有copyleft的许可证。是的,C是兼容的。 –

+0

我表示它可以是开源的或至少免费用于商业用途。我原以为这意味着它可能是开源或只是二进制文件,但必须免费用于商业用途。 CGAL不是(据我所知)免费用于商业用途。 另外,什么是copyleft?你只是幽默或与版权不同? – Clonkex

+0

啊,快速谷歌告诉我copyleft是什么。有趣的是,从来没有听说过它。是的,我想要没有copyleft的许可证。 – Clonkex

回答

0

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

0

结账umeshu。 这是根据MIT许可证。

+0

谢谢,但不是我所需要的。它是2D。我需要3D三角测量。但是,无论如何感谢:) – Clonkex