【问题标题】:How can I represent a voronoi diagram?如何表示 voronoi 图?
【发布时间】:2013-10-04 17:06:59
【问题描述】:

我在一个矩形(边界是障碍物)中有一些多边形(障碍物),我想找到 Voronoi 图,这意味着该图显示了与两个障碍物等距的线。

例如(使用this创建,请忽略笑脸和旗帜):

voronoi 图似乎不是一组多边形(这很容易表示)。这个好像有曲线。它是通过计算每个像素到每个障碍物的距离来生成的。

我见过this,但它没有多边形,只有点。

如何表示这样的 voronoi 图?

(顺便说一句,如果你有一些关于这个 voronoi 路径规划问题的好文章,我也会很高兴......我只能找到很多 for 点作为障碍。)

【问题讨论】:

    标签: algorithm data-structures


    【解决方案1】:

    您可以使用来自Boost.PolygonVoronoi Diagram 实现。也许如果您想要自己的实现,您可以学习查看 Boost 源代码。

    Boost.Polygon 库提供了 Voronoi 的实现 图 2D 空间中的数据结构。内部表示 由三个数组组成,分别包含: Voronoi 细胞 (表示以 Voronoi 为界的输入站点周围的区域 边),Voronoi 顶点(三个或更多 Voronoi 边的点 相交),Voronoi 边(一维曲线包含 点与两个最近的输入站点等距)。每一个 基元(单元格、顶点、边)包含指向其他链接的指针 原语,因此总是可以有效地遍历 Voronoi 图。

    还有这个 link 具有来自该数据结构的可视化表示。

    【讨论】:

    • 我想了解它是如何工作的,所以 Boost 很高兴知道,但不是答案。您提供的链接参考了 Mark de Berg 的“计算几何:算法和应用”。明天我会努力得到它。一旦我阅读并理解了相关部分,我将接受您的回答。到目前为止,只有 +1。
    • 没问题,如果你想有一个PDF版本。查看第 3.2 节:cescg.org/CESCG99/RCuk/paper.pdf。祝你好运。
    • 还有一本我很久以前用过的书[1],是关于Voronoi Diagrams的一章。 1 - amazon.com/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    相关资源
    最近更新 更多