Color Modeling with Nail Polish

As it turn out there's more than one way to numerically represent colors. This piece walks through a few of these models using the Revlon nail polish shades. Since these are nail polish colors the data set is a bit skewed to favor reds and pinks, but keep an eye on the lovely dark green "Posh", too. If you missed it, I explained the fundamentals of interpreting color hex codes on this page.

Red Green Blue (RGB) & Cyan Magenta Yellow (CMY)
The Red Green Blue (RGB) color model is a model that is intended for electronic displays like the one you are viewing. RGB is an additive model, meaning that each color is a combination of varying quantities of red, green, and blue. Because this model is meant to mix different wavelengths of light, combining the highest values of each results in white. You might recognize that rgb(255, 255, 255) or #FFFFFF is used to style web elements as white.

RGB uses red, green, and blue because these shades mirror the cone cells in our eyes that detect different wavelengths of light. Most people have three specialized cones that detect either yellow, red, or violet light.

If RGB is an additive, light-based color model, CMY is the analog equivalent. CMY stands for Cyan Magenta Yellow and is the standard model for printing. Unlike RGB that is additive, CMY is subtractive, meaning that each additional color of ink on a printed page moves the resulting color closer to black instead of white.
CIELAB
Unlike RGB that is based on human anatomy and physical hardware, the CEILAB space is optimized for human perception. This space was preceded by two other spaces, CIEXYZ and CIELUV. The CIELAB space, sometimes just called LAB decomposes colors into L* for lightness, a* for green to red, and b* to blue to yellow. This space is particularly useful because it is perceptually uniform, meaning that changing the value of l*, a*, or b* results in an equally perceptible difference.

Perceptually uniform color models come in handy when developing color palettes or gradients for data visualizations. For example, if you wanted 5 shades of the same color, you could hold A and B constant while adjusting the L (lightness) parameter.

I used the CIELAB space in my Nail Polish Name Generator to ensure that each name would be inspired by colors that were perceptually close to the one you select.
The HSV & HSL cylindrical colors
Naming conventions get a little wild here, but there are two basic families of models:

  1. HSV (hue, saturation, value) is also known as HSB (hue, saturation, brightness)
  2. HSL (hue, saturation, lightness) is also known as HSI (hue, saturation, intensity) or HSD (hue, saturation, darkness).
In both of these cases, Hue refers to the color as we colloquially think of it, and saturation refers to the intensity of that color. Value in HSV describes how the color would appear in total darkness versus if a very bright light were shining on it. Lightness in HSL ranges from black to white.

These are just a few of the common color models that scientists and designers use to encode and manage displays.