【问题标题】:C++ library to obtain regular meshes from a 3D file format such as STL [closed]C++ 库,用于从 STL 等 3D 文件格式获取规则网格 [关闭]
【发布时间】:2017-09-23 10:21:43
【问题描述】:

似乎有一些库(包括 CGAL)可以从 2D 或 3D 模型生成网格。

问题:在 C++ 环境中,获取一组规则节点以表示由 3d 文件格式(如 STL)给出的对象的最佳方法是什么?

为了解释这个问题,让我举个例子。在二维情况下,正方形可以由一组“1”表示,空白区域可以由一组“0”表示。

是否有任何 C++ 库可以处理此任务?

00000000000000
00000111000000
00000111000000
00000111000000
00000000000000

提前谢谢你。

【问题讨论】:

  • 哇!不错,cbuchart!

标签: c++ mesh 3d-reconstruction


【解决方案1】:

CGAL 它本身已经是一个很好的选择,如果你可以匹配许可证(许多模块是 GPL 或必须为专有使用付费)。 This answer 展示了一个使用示例。

另一个完整的库是Point Clouds Library (PCL)(与商业许可证兼容)。如果您的输入数据是有序的(如问题中所示),您可以使用 pcl::OrganizedFastMesh 类。 如果您的数据是无序的, 那么pcl::GreedyProjectionTriangulation 可能会更好。

最后,如果使用 PCL,您可以使用 [pcl::io::savePolygonFileSTL](http://docs.pointclouds.org/1.7.0/group__io.html#ga3223bdca3003262efbd8c475d4ab7cc6].

将三角形网格保存到 STL

作为最后一点,最好找到一个与您的输入格式完全匹配的库,找到一个可以生成您想要的结果的库,然后通过转换器容纳您的输入和输出。当然,如果您的输入没有提供所需的数据,例如法线,那么您必须事先计算它或搜索其他方法;)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 2015-06-16
    • 2016-12-18
    相关资源
    最近更新 更多