Colors can be specified in terms of their hue (i.e. red, orange, yellow), their saturation or vibrancy (i.e. how intense the color is) , and their brightness or value, which is how close to white or black the color is. There is a ton more on different color models (probably too much) at a href="http://en.wikipedia.org/wiki/HSL_and_HSV">wikipedia. We often use our Arduino color library
so we can specify colors in terms of their hue, rather than trying to figure out the various red, green and blue components. HSB (HSV) color modelling is also great for displaying rainbows
, just iterate over the different hues.