function rgb= color_gradient( pos, base_color_rgb, Ncolors ) %% returns rgb=[R,G,B] components from the brightness gradient of the base color % base_color_rgb - [R,G,B] of the base color % Ncolors - number of positions in gradient %% color map as gradient of particular color % starting values hsv_s=rgb2hsv(base_color_rgb); hue_f = hsv_s(1); sat_f = hsv_s(2); val_f = hsv_s(3); % stop values hue_s = hue_f; sat_s = 0; val_s = 1; hue=linspace(hue_s,hue_f, Ncolors); sat=linspace(sat_s,sat_f, Ncolors); val=linspace(val_s,val_f, Ncolors); cmap = hsv2rgb([hue', sat', val']); %% check that pos is with in the reach pos = floor(pos); if( pos < 1 ) pos=1; end if( pos > Ncolors ) pos=Ncolors; end rgb = cmap(pos,:); end