【问题标题】:Higher order voronoi diagram [closed]高阶 voronoi 图
【发布时间】:2012-09-20 10:18:32
【问题描述】:

是否有任何用于构建高阶 voronoi 图的 C/C++ 库? AFAIK,CGAL 仅支持普通的 voronoi 图。

【问题讨论】:

  • 嗨,aptypr,在这里引用维基百科:“虽然正常的 Voronoi 单元定义为最接近 S 中单个点的点集,但 n 阶 Voronoi 单元定义为点在 S 中具有一组特定的 n 个点作为其 n 个最近邻居。高阶 Voronoi 图也细分空间。可以递归生成高阶 Voronoi 图。要从集合 S 生成 n 阶 Voronoi 图,请从(n − 1) 阶图,并将 X = {x1, x2, ..., xn−1} 生成的每个单元格替换为在集合 S − X 上生成的 Voronoi 图。"
  • 现在我对 voronoi 图一无所知,但如果您知道编码,这看起来并不难完成?特别是如果每​​个低阶 voronoi 图都是由 OVD 库为您生成的

标签: c++ c computational-geometry cgal voronoi


【解决方案1】:

从 Delaunay 三角剖分中检索 Voronoi 单元应该适用于任何维度,因此 CGAL 的 Delaunay_d 类可能是一个解决方案。但是在更高维度上计算时间会显着增加。

【讨论】:

  • 我想他问的是高阶 Voronoi 图(即 k 阶 Voronoi 图中的单元格由集合中的 k-最近点定义),而不是空间的维度。
【解决方案2】:

截至 CGAL 4.1,仍然没有用于 k 阶 Voronoi 图的 API。但是,CGAL Ipelets package 中有一个演示计算双 k 阶 Delaunay 三角剖分。作为起点,您可能会发现它很有用。

在 CGAL 发行版中,在目录 demo/CGAL_ipelets 下,查找文件 multi_delaunay.cppinclude/CGAL_ipelets/k_delaunay.h

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多