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

时间:2012-11-30 19:55:33

标签: matlab colors matlab-figure geometry-surface

我试图在Matlab中创建一系列随机分布的球体,三个将是三个子集。我希望每个子集都有不同的颜色。我正在使用一个结构,因为每个球体也会有不同的属性。我尝试使用colormap,并设置(...'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

1 个答案:

答案 0 :(得分:1)

创建一个矩阵c,对应于球体上每个点的颜色。然后,

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

有关surf here的更多文档。