我正在尝试在MATLAB中绘制3D体积。我正在使用切片命令。
a(:,:,1)=[1,2; 3,4];
a(:,:,2)=[5,6; 9,8];
figure;
slice (a,0,0,1);
hold on
slice (a,0,0,2);
我得到的数字只有一个方格(像素)。我期待4个方格。我如何绘制这个?我究竟做错了什么?
答案 0 :(得分:2)
documentation的相关部分:
切片(V,sx,sy,sz)沿着向量sx,sy和sz中的点处的体积V中的x,y,z方向绘制切片。 V是一个m×n-by-p的体积阵列,包含默认位置X = 1:n,Y = 1:m,Z = 1:p的数据值。向量sx,sy和sz中的每个元素定义x轴,y轴或z轴方向的切片平面。
所以,你的命令slice (a,0,0,1);
要求Matlab生成三个立方体切片[1,2]×[1,2]×[1,2](根据您的a
数组的值,由以下平面
您可以使用slice(a,[],[],1)
避免无关的x = 0和y = 0切片。此外,
slice(a,[],[],[1,2])
会给你顶部和底部slice(a,[],[1,2],[])
会给出两个垂直边slice(a,[1,2],[],[])
会给出另外两个垂直方面或者您可以使用slice(a,[1,2],[1,2],[1,2])
一次获得所有六个。如果您不想要,例如,顶部和底部切片,则slice(a,[1,2],[1,2],[])
。
请注意a
的条目不是坐标,它们被理解为三个变量函数的值,并用颜色表示。