Я пытаюсь создать 3d-матрицу из 1 и 0. Я хочу соединить 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];
Я могу сделать это в 2D, используя этот код
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?
3D Bresenham? http://www.mathworks.com/matlabcentral/fileexchange/21057-3d-bresenham-s-line-generation – knedlsepp
Да, похоже, что мой ответ - это реализация линии Брешенема. Неудивительно, что у меня в голове был старый СПЕКТУЛЬНЫЙ СПЕКТ. –