我正在寻找C++中的Voronoi Tessellation库,而Voro++似乎非常适合这个库。我需要的某些东西--例如,方便地访问单元格本身的属性-- Voro++提供得很好。然而,Voro++似乎是为3D工作量身定做的。可以在2D模式下使用Voro++吗?如果可以,我该如何操作?
我认为只要在3D中做所有的事情,但是只有z分量为零的点就可以工作(只要"box“的z-range为-0.5 - 0.5),但这看起来太夸张了。
发布于 2012-07-22 13:34:09
您好,您可能想尝试Viennagrid,他们的源代码生成各种类型的网格,包括Voronoi图。对空间维度没有限制。该网站是
http://www.iue.tuwien.ac.at/index.php?id=viennagrid
致以最良好的问候。
发布于 2015-07-30 00:11:07
这是一个老生常谈的问题,但在联系了软件的作者之后,他确认正在通过Subversion使用以下命令制作2d版本,这对于提高效率非常有用
svn checkout https://codeforge.lbl.gov/anonscm/voro/trunk如果粒子数小于100000,则可以简单地使用3d版本,指定z坐标为0,容器高度为1
z_min = -0.5; z_max = 0.5发布于 2013-04-07 01:10:00
我建议你联系voro++的作者。我和你有同样的问题,我直接联系了他,他告诉我他正在开发一个2D优化版本,甚至给出了一个初步的代码版本来尝试。这段代码运行得很好。
即便如此,作为另一种方法,你当然可以使用3d版本,并将某个维度(假设y)固定为长度为1,然后所有的体积和数据都需要(如果有的话)微不足道的缩放。2d定制版的优势主要是速度。
https://stackoverflow.com/questions/11597807
复制相似问题