Genera un degradat de vars colors començant pel color pur i acavant a practicament blanc. El nombre de colors que composen el degradat l'indiquem amb la variable temps. Parametres d'entrada: vars - double que indica el nombre de colors que volem temps - double indica el nombre de colors que volem que tingui el degradat de cada un dels colors indicats a vars Parametres de sortida: out - matriu de doubles, te 3 columnes components (R,G,B) dels colors i a les (vars * temps) files hi tenim posat el decradat de cada un dels colors. [1 - temps] color 1 [temps+1 a temps*2] color 2 ... ...
0001 function out = degradatcolors(vars, temps) 0002 %Genera un degradat de vars colors començant pel color pur i 0003 %acavant a practicament blanc. El nombre de colors que composen el 0004 %degradat l'indiquem amb la variable temps. 0005 % 0006 %Parametres d'entrada: 0007 % 0008 % vars - double que indica el nombre de colors que volem 0009 % 0010 % temps - double indica el nombre de colors que volem que 0011 % tingui el degradat de cada un dels colors indicats 0012 % a vars 0013 % 0014 %Parametres de sortida: 0015 % 0016 % out - matriu de doubles, te 3 columnes components (R,G,B) 0017 % dels colors i a les (vars * temps) files hi tenim 0018 % posat el decradat de cada un dels colors. 0019 % 0020 % [1 - temps] color 1 0021 % [temps+1 a temps*2] color 2 0022 % ... 0023 % ... 0024 % 0025 0026 %Construim els vectors amb els valors de saturacio i color 0027 h = 1:vars; 0028 s = 1:temps; 0029 0030 %reservem l'espai 0031 out = ones(vars*temps,3); 0032 0033 %Construim els colors en HSV amb v=1 0034 %escollim var colors vase al maxim d'allunyats possible entre ells 0035 out(:,1) = reshape(repmat(h,temps,1),1,vars*temps)./vars; 0036 0037 %posem el degradat variant la saturació de color 0038 out(:,2) = repmat(s,1,vars) ./ (temps*1.5) +0.3;%no deixem arrivar a blanc perque es distingeixi sempre entre les variables 0039 0040 %V esta inicialitzat a 1 no cal tocar res més 0041 0042 %transformem de HSV a RGB 0043 out = hsv2rgb(out); 0044 end