Re: float -> RGB
- To: mathgroup at smc.vnet.net
- Subject: [mg83618] Re: float -> RGB
- From: Tom Burton <news at brahea.com>
- Date: Sun, 25 Nov 2007 04:32:11 -0500 (EST)
Assuming that you mean "Hue to RGB", here's a function I borrowed a
while back:
hsv2rgb::usage="hsv2rgb[h,s,v] \[LongRightArrow] {r,g,b}, where
{h,s,v} = {hue, saturation, brightness, and {r,g,b} = amplitudes of
{red, green, blue}, and all parameters run 0 to 1.";
hsv2rgb[h_,s_:1,v_:1]/;0<=h<1:=
(* http://www.cs.rit.edu/~ncs/color/t_convert.html *)
Module[
{i,f,p,q,t},
If[s==0,Return[{v,v,v}]];
i=Floor[6h];
f=6h-i;
p=v*(1-s);
q=v*(1-s*f);
t=v*(1-s*(1-f));
Which[
i==0,{v,t,p},
i==1,{q,v,p},
i==2,{p,v,t},
i==3,{p,q,v},
i==4,{t,p,v},
i==5,{v,p,q}
]
]
Tom
When responding, please replace news with my first initial and full
last name, as one word.
Tom Burton