Main Content

voronoiDiagram

(不推荐)Delaunay 三角剖分的 Voronoi 图

不推荐使用 voronoiDiagram(DelaunayTri)。请改用 voronoiDiagram(delaunayTriangulation)

不推荐使用 DelaunayTri。请改用 delaunayTriangulation

说明

示例

[V,R] = voronoiDiagram(DT) 返回点 DT.X 的 Voronoi 图的顶点 V 和区域 R。区域 R{i} 是指向 V 的索引元胞数组,表示包围该区域的 Voronoi 顶点。与第 i 个点 DT.X(i) 相关联的 Voronoi 区域是 R{i}。对于二维区域,R{i} 中的顶点按相邻顺序列出,即连接这些顶点将生成封闭多边形(Voronoi 图)。对于三维区域,R{i} 中的顶点按升序列出。

与位于 DT.X 凸包上的点相关联的 Voronoi 区域无边界。这些区域的边界发散至无穷。无穷大处的顶点由 V 中的第一个顶点表示。

示例

全部折叠

创建二维 Delaunay 三角剖分。

X = [ 0.5    0
      0      0.5
     -0.5   -0.5
     -0.2   -0.1
     -0.1    0.1
      0.1   -0.1
      0.1    0.1 ];
dt = DelaunayTri(X);

计算点集的 Voronoi 图。

[V,R] = voronoiDiagram(dt)
V = 10×2

       Inf       Inf
   -1.4500    0.6500
   -1.7500    0.7500
         0    0.2875
   -0.0500   -0.0500
    0.7000   -1.6500
    0.3833    0.3833
         0         0
    0.2875         0
   -0.0500   -0.5250

R=7×1 cell array
    {[   1 7 9 6]}
    {[ 1 3 2 4 7]}
    {[  1 6 10 3]}
    {[  2 3 10 5]}
    {[   2 5 8 4]}
    {[5 10 6 9 8]}
    {[   4 8 9 7]}

输入参数

全部折叠

Delaunay 三角剖分表示,指定为 DelaunayTri 对象。

输出参数

全部折叠

Voronoi 顶点的坐标,以矩阵形式返回。Vnumv×ndim 矩阵,其中 numv 是顶点数,ndim 是点所在空间的维度。

Voronoi 元胞,以元胞数组形式返回。R 是向量元胞数组,其长度与 DT.X 相同。这些条目表示与每个点相关联的 Voronoi 元胞。

详细信息

全部折叠

Voronoi 图

离散点集 XVoronoi 图将每个点 X(i) 周围的空间分解成影响区域 R{i}。该区域中的位置更靠近点 i 而不是任何其他点。影响区域称为 Voronoi 区域。所有 Voronoi 区域的集合为 Voronoi 图。

凸包

点集 X凸包是最小的凸多边形(或具有更高维度的凸多面体),包含 X 的所有点。

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2009a 中推出