What are the primary colors?

Do you know your primary colors? Ever have a debate with someone about red, yellow and blue vs. red, green and blue? I remember my elementary school teacher telling us that the difference was pigment vs. light primaries. This is a bogus explanation; why do printers use cyan, magenta and yellow then? The truth is a little complicated but really interesting. Follow along with these graphs I’ve made to see how this color stuff really works. This is mostly followsHandprint’s excellent narrative on this topic; but you can find the repo to generate all the graphs I’m going to show here.

Our eye has three types of color photoreceptors: L, M and S (long, medium and short) that respond to the range of visible wavelengths of light (about 400nm to 700nm). For now, think of a receptor as a little molecule that sends an electrical “response” that depends on the wavelength of light particle that hit it. Your retina has millions of these photoreceptors and they are all responding constantly to light during your waking hours.

Each wavelength is perceived as a different color (615nm looks red, 570nm looks yellow, 530nm looks green etc.). Most of the light that comes into our eyes is a mix of many wavelengths and not particularly saturated, but monochromatic light is just a single wavelength and looks maximally saturated (the “reddest” red, “bluest” blue etc.). Laser light is monochromatic, think about how much more “red” a laser dot looks than, say, the red you see reflecting off a stop sign in daylight.

The graph shows the sensitivity of each of L, M and S to each wavelength. The color of the dots represents the color we perceive when pure light of that wavelength hits our retina (notice how the colors line up vertically). The colors of the dots are just the best we can do on a monitor to represent the color, i.e. pure 550nm light would look much “greener” than what you see on the graph.

Things we can see from this graph:

-The L and M photoreceptors have similar sensitivities and S is quite different.

-The sensitivities are relatively broad (especially L and M).

-Wavelengths that correspond to the peak response of L and M are yellow and green respectively. The the peak response of S appears as violet.

-The sensitivities of all the receptors overlap to some degree, any monochromatic light will generate a response from at least two of L, M or S (even though L and M are quite weak at 400nm).

Ok, so how does this help us understand which colors are “primary”? There seems to be an infinite number of colors along the range of visible wavelengths, why would any of them be primary? It will take another graph or two to understand, but something important to consider is that all colors we see correspond to a response in terms of three values of L, M and S. Another thing to remember is that everything I’m going to say is in a color matching context where colors are assumed to be circular discs shown on a dark surround, we have a lot of trouble predicting things about color when they get more complicated than that.


Fantastic Maneesh! Thank you~~~

BTW–Understanding LMS tuning/cone sensitivities helps many of my students to understand why yellow seems to lose its “identity” when it is lowered in value. I wish more color classes out there began this way.