是否有任何 2D 形状存储库?

计算科学 网格生成 计算几何 数据集
2021-12-01 21:46:23

据我所知,有很多 3D 形状的存储库。但在 FEM 和许多其他应用中,平面网格域也很常见。但是,我没有找到专门为 2D 形状设计的网格存储库。由于 2D 网格可以通过 2D alpha 形状、Delaunay 三角剖分等技术有效地生成。

这是因为在我的研究中,我需要一个 2D 数据集(包括约 200 个或更多形状)来测试性能。

2个回答

据我所知,没有任何存储库包含全面的 2D 形状集合,大多数情况下,您需要自己生成网格以进行研究。而对于机械工程中的一些应用问题,您可能需要一些商业 CAD 软件。

但是,有一些免费的网格生成包可以处理 2D 中任意分段定义的几何图形。我将在这里命名两个:

  • DistMesh,一个非常紧凑的包,由 P.-O 用 C++ 和 MATLAB/Octave 编写。Persson,您可以根据描述您感兴趣的域边界的距离函数生成任意二维三角剖分。在 Persson 的简短介绍性说明中,他展示了 MATLAB 实现,还提供了许多示例,说明如何为某个形状制作距离函数,还有一个网格大小函数,可以让你的网格“更好”,即角落、边缘更精细。

  • NETGEN是一个作为 C++ 库的跨平台网格生成器,它有一个 UI,可以让您导入自己的几何/数据,这里是用户手册

最后,这里是由 Robert Schneider 博士编制的大量网格生成器列表的链接。希望我的回答会有所帮助。

添加到上一个答案。还有Gmsh和 Octave 包几何有一个简单的接口函数 data2geo.m,它允许从您在 Octave 工作区中的多边形创建网格(使用包本身创建多边形非常简单)。此外,几何包还有一个 SVG 类,允许您从使用 Inkscape 或类似软件创建的 SVG 文件中读取形状。

我知道这听起来像是宣传,请原谅我,不是。你的问题看起来很简单,这个包很简单。