This commit is contained in:
xinxiao
2026-03-13 11:24:41 +08:00
commit 04e2bb29c7
238 changed files with 29102 additions and 0 deletions
+99
View File
@@ -0,0 +1,99 @@
function plot_3d_grid_voxel_full(nx, ny, nz, dx, dy, dz, data)
%
%
% nx, ny, nz -
% dx, dy, dz -
% data - (nx, ny, nz)
%
x_edges = zeros(nx+1, 1);
x_edges(1) = 0;
for i = 1:nx
x_edges(i+1) = x_edges(i) + dx(i);
end
y_edges = zeros(ny+1, 1);
y_edges(1) = 0;
for i = 1:ny
y_edges(i+1) = y_edges(i) + dy(i);
end
z_edges = zeros(nz+1, 1);
z_edges(1) = 0;
for i = 1:nz
z_edges(i+1) = z_edges(i) + dz(i);
end
%
figure('Position', [100, 100, 1000, 800]);
hold on;
%
colormap jet;
caxis([min(data(:)), max(data(:))]);
%
alpha_value = 0.9; %
for i = 1:nx
for j = 1:ny
for k = 1:nz
%
x_min = x_edges(i);
x_max = x_edges(i+1);
y_min = y_edges(j);
y_max = y_edges(j+1);
z_min = z_edges(k);
z_max = z_edges(k+1);
%
value = data(i, j, k);
% 8
vertices = [x_min, y_min, z_min;
x_max, y_min, z_min;
x_max, y_max, z_min;
x_min, y_max, z_min;
x_min, y_min, z_max;
x_max, y_min, z_max;
x_max, y_max, z_max;
x_min, y_max, z_max];
% 6
faces = [1 2 3 4; %
5 6 7 8; %
1 2 6 5; %
2 3 7 6; %
3 4 8 7; %
4 1 5 8]; %
% 使 'flat'
%
patch('Vertices', vertices, 'Faces', faces, ...
'FaceColor', 'flat', ... % 'flat'
'FaceVertexCData', value * ones(size(faces, 1), 1), ... % 使
'CDataMapping', 'scaled', ...
'FaceAlpha', alpha_value, ...
'EdgeColor', 'none');
end
end
end
%
colorbar;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('');
axis equal;
view(3);
grid on;
box on;
%
lighting gouraud;
light('Position', [1 1 1], 'Style', 'infinite');
light('Position', [-1 -1 -1], 'Style', 'infinite');
hold off;
end