2012-11-30 4 views
2

Matlab에서 일련의 무작위로 분포 된 구체를 만들려고합니다. 세 개는 세 개의 하위 세트가 될 것입니다. 나는 각 부분 집합이 다른 색깔을 가지길 바란다. 나는 각 구가 서로 다른 속성을 가질 것이기 때문에 구조체를 사용하고있다. 나는 colormap을 사용하여 시도하고 (... 'FaceColor'..) 설정했지만 약간의 어려움을 겪고있다. 도와주세요.구체 생성하기 Matlab에서 데이터에 따라 표면색을 변경합니다

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 
+0

문구를 쓰는 또 다른 방법은 3 가지 3D 클러스터를 만들 수 있습니까? – mac389

답변

1

구의 각 점의 색상에 해당하는 행렬 c을 만듭니다. 그런 다음

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

자세한 내용은 surf here.