voronoi多边形的图常常应用在各种建模中,matlab中的mpt工具箱可高效快捷绘制voronoi图,方法如下:
1.安装mpt工具箱
下载mpt工具箱:https://pan.baidu.com/s/1o_QsatrZsG-mj6d7uyThNw(提取码:zi1n),内有两个版本,建议安装命名为mpt的安装包。安装步骤:把安装包下载解压在你的matlab安装路径的toolbox文件夹,然后点击matlab主页界面中的设置路径,在对话框中点击“填加并包含子文件夹”,选择安装的mpt文件夹,保存,确定,完毕。(2017matlab可用,其他版本未知)
2.绘制二维voronoi图
源码如下:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%功能:生成简单二维voronoi图
%%作者:北疆紫云
%%时间:2018年12月11日
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear al;
close all;
X = 10*rand(1,50);
Y = 10*rand(1,50); %随机生成五个2D点
Options.plot=1; %设置1表示画出维诺图
v=[0 0;0 10;10 10;0 10;10 0];
P = polytope(v); %生成边界
Options.pbound=P;
%axis square;
Pn=mpt_voronoi([X' Y'],Options);
V = extreme(Pn(1)); %这里的V就是第一个多边形的顶点序列
axis([0 10 0 10]);
3.绘制三维voronoi图
源码如下:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%功能:生成简单三维voronoi图
%%作者:北疆紫云
%%时间:2018年12月11日
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear al;
close all;
v=[0 0 0;150 0 0;150 150 0;0 150 0; 0 0 1;150 0 1;150 150 1;0 150 1];
X = 10*rand(1,100);
Y = 10*rand(1,100);
Z = 10*rand(1,100); %随机生成100个3D点
Options.plot=1; %设置1表示画出维诺图
v=[0 0 0;0 0 10;0 10 0;0 10 10;10 0 0;10 0 10;10 10 0;10 10 10];
P = polytope(v); %生成边界
Options.pbound=P;
Pn=mpt_voronoi([X' Y' Z'],Options);
V = extreme(Pn(1)) ;%这里的V就是第一个多边形的顶点序列
axis([0 10 0 10 0 10]);
结束。
|