如何获得 3D voronoï 的细胞膜?

how can I get the cell membranes for a 3D voronoï?

为了能够在程序生成中进行生物群落转换,我需要知道所选坐标 (x, y, z) 何时在另一个单元格的距离 d 内。

我可以制作一个简单的 3D voronoï,方法是将细胞核心放在一个体积中,然后针对每个给定的 (x, y, z) 坐标,寻找最近的细胞核心,但这种方法无法获得距离 d 到细胞膜,因为我需要知道 是相邻细胞。

有没有一种简单的方法可以知道两个单元格是否相邻,或者我应该使用不同的方法? (在第二种情况下,我应该如何进行?)

两个 voronoi 区域当且仅当它们的位置在相应的 Delaunay 三角剖分中相邻(一个图是另一个的对偶图)时才接触。

许多实现同时计算 Delaunay 三角剖分结果和 voronoi 数据 - 如果您不编写自己的求解器,我会寻找一个为这两种结构提供信息的库。注意事项:您可能需要检查某些边缘情况;例如,某些实现可能具有在无限图中相交于无穷远的边。