// RGBfromHue // // Paul Vanukoff // Revision 2000-1-29 // // Usage: // m_RGBfromHue(H) // where H is Hue in the range 0-1 #macro m_RGBfromHue(H) #local R=0.5; #local G=0.5; #local B=0.5; // if valid Hue is not given, will return gray #switch (H) #range (0/6, 1/6) #local R = 1.0; #local G = (H-0/6)*6; // green slopes up #local B = 0.0; #break #range (1/6, 2/6) #local R = 1-(H-1/6)*6; // red slopes down #local G = 1.0; #local B = 0.0; #break #range (2/6, 3/6) #local R = 0.0; #local G = 1.0; #local B = (H-2/6)*6; // blue slopes up #break #range (3/6, 4/6) #local R = 0.0; #local G = 1-(H-3/6)*6; // green slopes down #local B = 1.0; #break #range (4/6, 5/6) #local R = (H-4/6)*6; // red slopes up #local G = 0.0; #local B = 1.0; #break #range (5/6, 6/6) #local R = 1.0; #local G = 0.0; #local B = 1-(H-5/6)*6; // blue slopes down #break #end < R, G, B> #end