完全なソース コードは、さまざまな色で立方体をプロットする以下に示されています。色情報を取得するには、<0,1> の間の Float 値が必要であることに注意してください。したがって、入力ボリュームは正規化されてこの範囲の強度値をシフトし、plotcube スクリプトを使用して個々の立方体を表示します。色を取得するスクリプトは@Use matlab color scheme to convert float to RGBです。個々のキューブのプロットは @ http://www.mathworks.com/matlabcentral/fileexchange/15161-plotcubeです
%PLOTCUBE(EDGES,ORIGIN,ALPHA,COLOR)
VoxelGrid(:,:,1)=[5 3;8 1];
VoxelGrid(:,:,2)=[9 2;7 1];
%VoxelGrid=round(20*rand(8,8,8)); %Uncomment this line to display dense volume
GridSize=size(VoxelGrid);
for x = 1:GridSize(1)
for y = 1:GridSize(2)
for z = 1:GridSize(3)
if (~isnan(VoxelGrid(x, y, z)))
cubeLength = 1;
f = VoxelGrid(x,y,z)/max(max(max(VoxelGrid)));
cm = colormap; % returns the current color map
colorID = max(1, sum(f > [0:1/length(cm(:,1)):1]));
colour = cm(colorID, :); % returns your color
plotcube([cubeLength cubeLength cubeLength],[x, y, z],0.9,[colour]);
end
end
end
end