N维Delaunay镶嵌软件库


10

我有一组在N维空间(N> = 2)中不规则间隔的已知点/节点,并且我想一种生成这些点的Delaunay三角剖分并返回相应元素的方法。

是否有现有的网格划分库可以进行ND Delaunay三角剖分?

(我之所以这样做,是因为我想将网格化的元素用作空间中任何一点的线性插值的基础。如果对建议有任何不同,我的维当前由在维上模板化的C ++类处理。)


大家好,欢迎来到scicomp!:你可能有兴趣在这个问题 scicomp.stackexchange.com/questions/770/...
保罗

感谢您的链接,我希望避免编写自己的网格器。Tetgen(用于3D)需要运行很多行代码。看来这个问题必须解决很多次。
mirams 2013年


Delaunay三角剖分通常从高维空间中的凸包得出。请参阅下面的qhull备注。
meawoppl 2013年

3D并不是那么难,但是对于4D来说,精炼时却极其困难,我问了一个关于MathOverflow的问题,但还没有答案:mathoverflow.net/questions/130878/…– Shuhao
Cao

Answers:


4

我认为您可以通过提升算法使用凸包软件(例如QHull)来做到这一点。至少,matlab的“ delaunayn”命令的文档似乎表明了这一点。


2
经过测试的4D,在QHull中似乎工作正常(我通过python中的scipy.spatial使用它)。
伊桑·库恩

1
您不会击败qhull。我在多达6个维度中都使用了Scipy。
meawoppl

嗯-来自qhull.org/news/qhull-news.html的信息并不理想:“在3-d及更高版本中的所有用户,选项'Qt'不会为相邻的非简单方面生成符合标准的三角剖分。例如,如果您有一个规则的3维输入点阵列,则其Delaunay三角剖分由多维数据集组成。选项“ Qt”会将每个多维数据集三角剖分为四面体。 [C. Bertoglio; C. de Visser]。如何解决此问题尚不清楚。” 不过,值得一试,我将看看如何进行。
mirams 2013年


0

我还发现Matlab中的distmesh似乎可以做到这一点:

Distmesh主页

它可以对有限元网格进行细分(通过QHull),但是具有一个不错的界面,用于基于距离函数定义区域/曲面。更适合需要数学定义曲面且不介意内部节点在哪里的情况。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.