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
+70
View File
@@ -0,0 +1,70 @@
%
clear; clc; close all;
%
nx = 20;
ny = 15;
nz = 10;
%
dx = linspace(0.5, 1.5, nx)'; % x方向网格尺寸从0.51.5
dy = linspace(0.8, 1.2, ny)'; % y方向网格尺寸从0.81.2
dz = ones(nz, 1) * 1.0; % z方向均匀网格
%
x_center = sum(dx)/2; %
y_center = sum(dy)/2;
z_center = sum(dz)/2;
%
x_pos = zeros(nx, 1);
x_pos(1) = dx(1)/2;
for i = 2:nx
x_pos(i) = x_pos(i-1) + (dx(i-1) + dx(i))/2;
end
y_pos = zeros(ny, 1);
y_pos(1) = dy(1)/2;
for i = 2:ny
y_pos(i) = y_pos(i-1) + (dy(i-1) + dy(i))/2;
end
z_pos = zeros(nz, 1);
z_pos(1) = dz(1)/2;
for i = 2:nz
z_pos(i) = z_pos(i-1) + (dz(i-1) + dz(i))/2;
end
%
[X, Y, Z] = ndgrid(x_pos, y_pos, z_pos);
%
sigma_x = max(x_pos)/3;
sigma_y = max(y_pos)/3;
sigma_z = max(z_pos)/3;
data = exp(-((X - x_center).^2/(2*sigma_x^2) + ...
(Y - y_center).^2/(2*sigma_y^2) + ...
(Z - z_center).^2/(2*sigma_z^2)));
%
% plot_3d_grid_data_slice(nx, ny, nz, dx, dy, dz, data);
% plot_3d_grid_data_scatter(nx, ny, nz, dx, dy, dz, data);
% plot_3d_grid_data_volume(nx, ny, nz, dx, dy, dz, data);
% 1
fprintf('1...\n');
plot_3d_grid_voxel_full(nx, ny, nz, dx, dy, dz, data);
title('1 - ');
% 2
fprintf('2...\n');
plot_3d_grid_patch_optimized(nx, ny, nz, dx, dy, dz, data);
title('2 - ');
% 3
fprintf('3...\n');
plot_3d_grid_voxel_function(nx, ny, nz, dx, dy, dz, data);
title('3 - ');
% 4
fprintf('4...\n');
plot_3d_grid_transparent(nx, ny, nz, dx, dy, dz, data);