3
我试图创建一个1和0的三维矩阵。我想通过在它们之间形成一行1来连接2个点(最短距离)。在多维矩阵中连接两个点
这将是这个样子,但在3D
path_pixels = [0,0,1,0,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0;
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0];
我能够使用这个代码
clc;
clear;
%matrix size
A = zeros(70);
A(20,20) = 1; %arbitrary point
B = zeros(70);
B(40,40) = 1; %arbitrary point
D1 = bwdist(A);
D2 = bwdist(B);
D_sum = D1 + D2 ;
path_pixels = imregionalmin(D_sum);
spy(path_pixels)
如何展开这种方法到3d做到在2D?
3D Bresenham? http://www.mathworks.com/matlabcentral/fileexchange/21057-3d-bresenham-s-line-generation – knedlsepp
是的,看起来我的答案是Bresenham的实现。毫不奇怪,我记住了旧的辛克莱谱PLOT;)。 –