【问题标题】:How to draw 2nd order Voronoi diagram in Matlab?如何在 Matlab 中绘制二阶 Voronoi 图?
【发布时间】:2014-01-02 16:11:19
【问题描述】:

Matlab function voronoi(x,y) 给出了点集 $(x,y)$ 的一阶 Voronoi 图,例如

我们可以用这个函数画一个更高阶的,比如二阶Voronoi图吗? Voronoi 图的顺序表示最近点的数量。例如,常规的 Voronoi 图被称为一阶,因为单元格有一个最接近单元格中任何位置的点。二阶 Voronoi 图将包含由两个最近点标识的单元格。

上一个问题Higher order voronoi diagram 讨论了一个类似的问题,但在 Matlab 中没有。

【问题讨论】:

  • 快速搜索收效甚微。也许这个File Exchange submission 可以提供帮助。否则,鉴于您已经拥有一阶 voronoi 的功能,实现它应该不会太难。
  • 我现在正在尝试写作,当然是为了好玩:)
  • 注意:自己写比看起来要困难一些。
  • @MZimmerman6 您是从头开始尝试还是使用 Matlab 中的一阶 voronoi(x,y) 函数?你使用的伪代码是什么?
  • 我是从头开始写的,但不幸的是事情很快就走下坡路了。我从头开始为第一个订单编写它并且效果很好,但是第二个订单有点粗略而且不准确。我暂时放弃了。我不完全确定您将如何使用第一个订单来达到更高的订单,而无需真正坐在那里认真思考

标签: matlab voronoi


【解决方案1】:

IMO 您可以使用最近的一对站点和一个树状图,并且 k 阶 voronoi 是 x k 阶 voronoi 的叠加,但没有相交的边缘。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多