Voro++可以在2D中使用吗

Can Voro++ be used in 2D?

本文关键字:2D Voro++      更新时间:2023-10-16

我正在寻找C++中的Voronoi Tessellation库,Voro++似乎非常适合。Voro++很好地提供了一些我需要的东西,例如,简单地访问细胞本身的属性。然而,Voro++似乎是为3D工作量身定制的。有可能在2D模式下使用Voro++吗?如果有,我该怎么做?

我认为只在3D中做所有事情,但只有z分量为零的点是可行的(只要"盒子"的z范围为-0.5-0.5),但这似乎是大材小用。

嗨,你可能想试试Viennagram,他们的源代码可以生成各种类型的网格,包括Voronoi图。空间维度没有限制。该网站是

http://www.iue.tuwien.ac.at/index.php?id=viennagrid

致以最良好的问候。。。

这是一个老问题,但在联系软件作者后,他确认,为了提高效率,正在使用命令通过Subversion制作2d版本

svn checkout https://codeforge.lbl.gov/anonscm/voro/trunk

如果粒子数<100000您可以简单地使用3d版本,指定z坐标为零,容器高度为1

z_min = -0.5; z_max = 0.5

我建议您联系voro++的作者。我和你有同样的问题,我直接联系了他,他告诉我他正在开发2D优化版本,甚至给出了一个初步的代码版本来尝试。那个代码运行得很好。

即便如此,作为另一种方法,你当然可以使用3d版本,并将某个维度(比如y)固定为长度为1,然后你所有的体积和数据都需要(如果有的话)琐碎的缩放。2d定制版的优势主要在于速度。