summaryrefslogtreecommitdiff
path: root/beam_tracing/color_gradient.m
blob: 310ff99ae0019394bd08a60782b0ae754b187d31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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