在 Matlab 中创建根据数据更改表面颜色的球体



我正在尝试在 Matlab 中创建一系列随机分布的球体,三个将是三个子集。我希望每个子集都有不同的颜色。我正在使用结构,因为每个球体也将具有与之关联的不同属性。我尝试使用颜色图,并设置(...'FaceColor'...),但遇到了一些困难。请帮忙。

for n = 1:100
    Bslice.cell(n).index = n; 
    Bslice.cell(n).type = 'Tyep1'; % Type2, Type3
    Bslice.cell(n).location = round(rand(1, 3)*10);
end 
%%
[x,y,z] = sphere;
for n = 1:10
    hold on 
    grid on
    surfl(x-Bslice.cell(n).location(1), y-Bslice.cell(n).location(2), z-Bslice.cell(n).location(3)); 
    shading interp
    % colormap(hot(100))
end
创建一个矩阵

c对应于球体上每个点的颜色。然后

[x y z] = sphere;
surf(x,y,z,c);

有关surf的更多文档,请点击此处。

最新更新