Matlab - 切片 3D 体积
Matlab - slice 3D volume
我需要切片 3D 体积(200x200x500 矩阵)并绘制结果。我尝试按照 Mathworks 报告的示例 here,但生成的切片是空的(不应该是)...您对如何解决这个问题有什么建议吗?谢谢!
这是我使用的代码和生成的切片:
xmin = 1;
ymin = 1;
zmin = 1;
xmax = 200;
ymax = 200;
zmax = 499;
hslice = surf(linspace(xmin,xmax,100),...
linspace(ymin,ymax,100),...
zeros(100));
rotate(hslice,[100,100,250],-45)
xd = get(hslice,'XData');
yd = get(hslice,'YData');
zd = get(hslice,'ZData');
delete(hslice);
x = 1:200;
y = 1:200;
z = 1:499;
figure;
colormap(jet);
h = slice(x,y,z,V1,xd,yd,zd);
h.FaceColor = 'interp';
h.EdgeColor = 'none';
h.DiffuseStrength = 0.8;
这将在 x=100 处绘制一个切片
v=randn(200,200,500);
[x,y,z] = meshgrid(1:200,1:200,1:500);
h=slice(x,y,z,v,100,[],[]);
set(h,'EdgeColor','none')
同样,如果将 [] 替换为 e.h 的坐标,则可以在 y 或 z 处放置额外的切片。 y 和 z。
我需要切片 3D 体积(200x200x500 矩阵)并绘制结果。我尝试按照 Mathworks 报告的示例 here,但生成的切片是空的(不应该是)...您对如何解决这个问题有什么建议吗?谢谢!
这是我使用的代码和生成的切片:
xmin = 1;
ymin = 1;
zmin = 1;
xmax = 200;
ymax = 200;
zmax = 499;
hslice = surf(linspace(xmin,xmax,100),...
linspace(ymin,ymax,100),...
zeros(100));
rotate(hslice,[100,100,250],-45)
xd = get(hslice,'XData');
yd = get(hslice,'YData');
zd = get(hslice,'ZData');
delete(hslice);
x = 1:200;
y = 1:200;
z = 1:499;
figure;
colormap(jet);
h = slice(x,y,z,V1,xd,yd,zd);
h.FaceColor = 'interp';
h.EdgeColor = 'none';
h.DiffuseStrength = 0.8;
这将在 x=100 处绘制一个切片
v=randn(200,200,500);
[x,y,z] = meshgrid(1:200,1:200,1:500);
h=slice(x,y,z,v,100,[],[]);
set(h,'EdgeColor','none')
同样,如果将 [] 替换为 e.h 的坐标,则可以在 y 或 z 处放置额外的切片。 y 和 z。