我试图从我的matlab代码转换输出文件,该代码具有位置矢量和球体半径的输出。我打算从这些球体创建体素并以布尔形式存储,即1表示球体,0表示空白。请问您如何建议我这样做。这是输出的一个例子。
Pos (x) , Pos (y), Pos (z) Radius
-0.34316 -0.18477 -0.00897 0.0900
-0.18425 -0.20463 0.08040 0.020
-0.46883 -0.49809 0.36954 0.020
0.24727 -0.19437 -0.28274 0.0876
0.39771 0.49293 -0.49469 0.0200
-0.04368 0.26251 -0.07504 0.0200
-0.34705 0.04092 0.37070 0.0200
这是我正在使用的matlab代码的片段。球体最初位于格子空间。谢谢
coords=zeros(N,3); % list of the 3D positions of all particles
overlap=(6*phi/(pi*N))^(1/3);
% create initial, evenly-spaced lattice
numcell=(ceil(N^(1/3)));
cellside=1/numcell;
hh=linspace(-.5+.5*cellside,.5-.5*cellside,numcell);
for ii=1:N
coords(ii,1)=hh(ceil(ii/ceil(N/numcell)));
coords(ii,2)=hh(floor(mod(ii,ceil(N/numcell))/numcell)+1);
coords(ii,3)=hh(mod(ii,numcell)+1);
end
scatter3(coords(:,1),coords(:,2),coords(:,3),'filled');