Я пытаюсь создать трехмерную модель упакованных сферических бусин с кусочками изображения. Эти изображения представляют собой сферические бусины с различными диаметрами, разнесенные на 0,0015. Куб имеет размер 2,154х2,154х2,154. Мне удалось «сложить» изображения друг на друга и отменить пустое место для компиляции модели. Теперь у меня есть проблема заполнения пространства между срезами изображения, чтобы запустить симуляции / оценить пространство, незанятое сферами.
Я пытался использовать функцию matlab interp3, но у меня возникли проблемы с ее применением. Я также не уверен, является ли это правильным методом «заполнить» или «завершить» сферы. Следующий код использует только каждое третье изображение в диапазоне первых 43 из 1408 изображений.
изометрический вид сложенных изображений - высота 0,0643
Вид сбоку сложенных изображений
for i = 1:3:43 %height - 0.0643 out of 2.154
filename = ['10000_test_packing_' sprintf('%0.0f',i) '.tif'];
temp=double(imread(filename));
image(:,:,i) = .5*(temp(:,:,1)==1) +(temp(:,:,2)==0) + 2*(temp(:,:,3)==0);
end
volumeViewer(image)
%% "Filling in the Spheres"
%Interpolation using interp3?
[X, Y, Z] = meshgrid(0:656, 0:875, 0:20);
[x, y, z] = meshgrid(0:656, 0:875, 0:.24:20);
test = interp3(X, Y, Z, image(:,:,1), x, y, z, 'cubic');
Первый раздел кода только складывает изображения, но не позволяет оценить объем «пустого пространства» внутри куба. Это связано с тем, что срезы не содержат объема и в пространстве между изображениями ничего нет.
Мне нужно найти способ затвердеть сфер, чтобы между срезами не было места и чтобы сферы были полными.