如何使用Matlab获取voronoi图的每个多边形的顶点和边缘?

时间:2018-09-08 00:04:47

标签: matlab geometry computational-geometry voronoi

我有以下代码绘制voronoi图;

 X = [ 0.018504 0.5187; 0.23114 0.70406;...
      0.4447 0.37589;0.45647  0.83682;...
      0.48598 0.59816; 0.60684 0.95388;...
      0.7621 0.44282; 0.82141 0.02221;...
      0.8913 0.84074; 0.95013  0.95278];

[VX,VY] = voronoi(X(:,1),X(:,2));

 Assign_labels_to_all_points ( X ,X(:,1),X(:,2));

plot(VX,VY,'-k','linewidth',2); 
xlim([-0.2,1.2]);
ylim([-0.2,1.2]);

在下面的Voronoi图中显示:
Voronoi Diagram image

所以,我的问题是: 如何获取voronoi图的每个多边形的顶点和边缘?

  

例如;

多边形X1具有4条边和4个顶点。我想获取这些顶点的值。因此,对于10个多边形中的每个多边形;我想获取 顶点值其边数

1 个答案:

答案 0 :(得分:0)

给出一个坐标为X的矩阵,

[V,C] = voronoin(X);

为该图的每个像元返回一个包含顶点的数组V和一个包含矩阵的像元数组C。点集

V(C{ii},:)

包含顶点为像元ii的像元编号X(ii,:)的顶点。

请参见the documentation to voronoin