Hi! I am looking for help getting the rgb color values (assuming 0 is red and 0.5 is yellow and 1 is green) for a range of number from 0-1 similar to how Excel will create a gradient given a set of points.
How do I get the gradient between those colors? Help is appreciated, thanks!
To get nice RGB colours, you should take a saturation value of 1.0 and a lightness value of 0.5. Then choose for the hue range an angle range over which you want to vary the colours, maybe in your case use 0 - 120 degrees (red-to-green). On a scale of 0 - 360, your hue range varies from 0 to 0.33333.
Then use Rhino’s ColorHSL to create the color and call ToArgb() on it to get RGB values.
Interval hueRange = new Interval(0,0.333333333333);
double[] fractions; // these are your numbers
foreach(double f in fractions)
{
double hue = hueRange.ParameterAt(f);
ColorHSL hsl = new ColorHSL(hue, 1.0, 0.5);
Color rgb = hsl.ToArgb(); // here is the color in RGB
}