可视化路径并在3D立方体中找到最短路径

时间:2017-12-02 13:50:44

标签: matlab 3d visualization matlab-figure shortest-path

我对路径的可视化存在一些问题,并从上到下找到最短的路径。

这是我的代码:

clc; clear all; close all;

Porosity = .3;
m=20;
n=20;
o=20;

Nodes= ones(m,n,o);

HLines = zeros(m,n-1,o-1);
HLines(randperm(numel(HLines),floor(Porosity*m*(n-1)*(o-1))))=1;
HLines

VLines = zeros(m-1,n,o-1);
VLines(randperm(numel(VLines),floor(Porosity*(m-1)*n*(o-1))))=1;
VLines

PLines = zeros(m-1,n-1,o);
PLines(randperm(numel(PLines),floor(Porosity*(m-1)*(n-1)*o)))=1;
PLines

for i=1:m
    for j=1:n-1
        for k=1:o-1
        if HLines(i,j)==1;
            hold on
            x = [i i+1];
            y = [j j];
            z = [k k];
            plot3(x,y,z,'r','linewidth',2)
        end
        end
    end
end

for i=1:m-1
    for j=1:n
        for k=1:o-1
        if VLines(i,j)==1;
            hold on
            x = [i i];
            y = [j+1 j];
            z = [k k];
            plot3(x,y,z,'r','linewidth',2)
        end
        end
    end
end

   for i=1:m-1
      for j=1:n-1
          for k=1:o
          if PLines(i,j,k)==1;
              hold on
              x = [i i];
              y = [j j];
              z = [k+1 k];
              plot3(x,y,z,'r','linewidth',2)
          end
          end
      end
   end

   axis([0 m 0 n 0 o])
   view(30,45)
   set(gcf,'Position', [0 0 1500 1000])
   xlabel('X'); ylabel('Y'); zlabel('Z')

此代码为我提供了下图,其中包含一个3D立方体,随机分布在10中:

image

如果有1则继续;如果有0,则停止。

我想从上到下可视化所有路径,我想选择最短的路径。

0 个答案:

没有答案