Matlab:Voronoi 图
离散点集 X 的 Voronoi 图将每个点 X(i) 周围的空间分解成影响区域 R{i}。这种分解具有的属性是区域 R{i} 中的任意点 P 比任何其他点更靠近点 i。这种影响区域称为 Voronoi 区域,所有 Voronoi 区域的集合构成 Voronoi 图。
Voronoi 图是一个 N 维几何结构,但是大多数实际应用程序是位于二维和三维空间中的。使用一个示例最好理解 Voronoi 图的属性。
绘图二维 Voronoi 图和 Delaunay 三角剖分
本示例在同一个二维图上显示 Voronoi 图和 Delaunay 三角剖分。
使用二维 voronoi 函数绘制某一点集的 Voronoi 图。
figure()
X = [-1.5 3.2; 1.8 3.3; -3.7 1.5; -1.5 1.3; ...
0.8 1.2; 3.3 1.5; -4.0 -1.0;-2.3 -0.7; ...
0 -0.5; 2.0 -1.5; 3.7 -0.8; -3.5 -2.9; ...
-0.9 -3.9; 2.0 -3.5; 3.5 -2.25];
voronoi(X(:,1),X(:,2))
% Assign labels to the points.
nump = size(X,1);
plabels = arrayfun(@(n) {sprintf('X%d', n)}, (1:nump)');
hold on
Hpl =