Matlab中的Voronoi图:指定细胞边数的上限

时间:2017-03-16 17:58:28

标签: matlab voronoi topology

我需要创建一个最终将在单独代码中使用的Voronoi图。这个单独的代码只能处理n = 6(六边形)的多边形。

Matlab是否提供了指定Voronoi单元可以包含的边数上限的功能?或者,是否有指定边缘限制的迂回方式?

1 个答案:

答案 0 :(得分:3)

不,没有这种可能性,因为它违反了Voronoi图的定义,更一般地说,没有任何意义。

Voronoi图具有精确的定义,允许多边形单元格具有任意数量的边缘,这些边缘取决于空间维度。如果限制最大边数,则不再进行Voronoi细分。因此没有理由在voronoi函数中实现该功能。

然后,如果我们假设您谈论二维情况,欧拉定理指出每个单元格的平均边数必须为6.如果您禁止单元格更多超过6个边,然后为了满足平均= 6约束,你还必须禁止少于而不是6个边的单元,因此只允许正好 6个边的单元。 / p>

然后,您必须定义如何在您的tesselating算法中应用此约束,这非常复杂,如果不是不可能的话。这就是为什么这个功能没有在其他地方实现的原因。

我强烈建议您检查其他选项,而不是使用只能处理所有可能性和/或非Voronoi tesselation的一小部分的软件。