三维voronoi算法

2022-07-24 教育 66阅读
不知道你要三维的还是二维的,先给你个在MATLAB中生成三维voronoi图的,二维的你就自己查MATLAB帮助文档里的VORONOI函数吧
k=20;
x=rand(k,1);
y=rand(k,1);
z=rand(k,1);
figure('Color','w')
plot3(x,y,z,'Marker','.','MarkerEdgeColor','r','MarkerSize',10, 'LineStyle', 'none')
xlabel('X');
ylabel('Y');
zlabel('Z');
axis([0 1.5 0 1.5 0 1.5])
axis vis3d
X=[x y z];
[V,C]=voronoin(X);
V;
for k=1:20
disp(C{k})
end
for k=1:length(C)
if all(C{k}~=1)
VertCell = V(C{k},:);
KVert = convhulln(VertCell);
patch('Vertices',VertCell,'Faces',KVert,'FaceColor','g','FaceAlpha',0.5)
end
end
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com