% L'ATTRIBUTION DES COULEURS

% Ce script montre comment on peut attribuer des couleurs différentes aux objets:

 

% Dessin des trois sphères:

[t,p] = meshgrid(0:pi/100:2*pi,-pi/2:pi/100:pi/2);

x = cos(p).*cos(t);

y = cos(p).*sin(t);

z = sin(p);

boule1 = surf(x-2,y+2,z);

hold on

boule2 = surf(x,y,z);

boule3 = surf(x+2,y-2,z);

 

shading interp

axis equal

hold off

 

 

% Repérage des couleurs initiales:

cboule1 = get(boule1,'CData');

cboule2 = get(boule2,'Cdata');

cboule3 = get(boule3,'CData');

 

 

% Création des palettes de couleurs personnelles:

rouge = [0:63;zeros(2,64)]./63;

vert = [zeros(1,64);0:63;zeros(1,64)]./63;

bleu = [zeros(2,64);0:63]./63;

paletteperso = [rouge';vert';bleu'];

 

% Attribution des couleurs aux différents objets:

set(boule1,'CData',cboule1+0)

set(boule2,'CData',cboule2+2)

set(boule3,'CData',cboule3+4)

 

% Activation de la palette de couleurs personnelle et réglage de l'axe des couleurs:

colormap (paletteperso)

caxis([-1 5]) % Comme il y a trois couleurs, elle a un écart de 6. Voir aussi NOTE

 

% NOTES: Une palette de couleur est une matrice qui doit avoir 3 colonnes et des nombres entre 0 et 1.

% La commande "get" cherche la valeur d'une propriété d'un objet. La commande "set" modifie la valeur

% d'une propriété d'un objet. La commande "caxis" définit l'échelle des couleurs. Avec "surf",

% l'échelle par défaut est entre -1 et 1, avec "surfl" l'échelle est entre 0 et 1. Il faut tenir

% de cette différence lors de l'attribution de la bonne partie de la palette de couleur avec "set"

% et lors de la définition de l'échelle des couleurs avec "caxis".