仅凭这张命令行的代码片,看不出你的小x,小y,小z分别取值是多少,盲猜for循环里换成X,Y,Z试了下可以构建一个等值面:
clc,clear,close all;
[X, Y, Z] = meshgrid(0:31,0:31,0:31);
[rows, cols, heis] = size(X);
V = zeros(rows,cols,heis);
for i = 1:30
x_t = round(X(i)) + 1;
y_t = round(Y(i)) +1;
z_t = round(Z(i))+1;
V(x_t,y_t,z_t) = 1;
end
[face, vertice] = isosurface(X,Y,Z,V,0.5);
P = patch('Faces',face,'Vertices',vertice);
axis equal;
view(3)
估计你只是给了一条直线上的点,试试多建立空间上的点。