Я пытаюсь перейти от облака точек к объему (трехмерный куб).
Я могу получить довольно хорошее представление об объеме, сделав триангуляцию Делоне.
Как перейти от триангуляции к трехмерному мату?
Я думаюможет быть, протестировать несколько точек запроса и выяснить, лежат ли они внутри треугольника / тетраэдра, но я не могу найти лучший способ сделать это:
clc; clear all;
% Build a cube, in my target application this going to be from a point cloud
d = [-1 1];
[x,y,z] = meshgrid(d,d,d); % a cube
x = [x(:);0];
y = [y(:);0];
z = [z(:);0];
DT = delaunayTriangulation(x,y,z);
V=ones(size(x),'like',x);
%Build a volume from these points?
n=5;samples=linspace(-2,2);
[xq,yq,zq]=meshgrid(samples,samples,samples);
pq=[xq(:),yq(:),zq(:)];
vi = nearestNeighbor(DT,pq);
res=reshape(vi,size(xq));
%As expected, edges are messed up, not a cube...
imagesc(res(:,:,round(end/2)));
% %tetramesh(DT);