Tab Completion

I'm Tab Atkins Jr, and I wear many hats. I work for Google on the Chrome browser as a Web Standards Hacker. I'm also a member of the CSS Working Group, and am either a member or contributor to several other working groups in the W3C. You can contact me here.
Listing of All Posts

Why is the Hue Circle... Circular?

Last updated:

As you may know from following this blog, I occasionally get obsessed with the math and science of colors. I've been interested in this subject my entire life; it's a perfect blend of subjective experience (color vision) with objective logic (color spaces, color addition, etc). Plus, I'm colorblind (deuteranopic - I can't see green as well as an average person), so it always held an extra frisson of interest for me.

One thing always bothered me as a kid, though, and it took me until only a year or two ago before I finally figured it out: why is the EM spectrum (where all the colors live) a line, while hue is generally represented as a circle? What is the reason that blue "wraps around" to red in every art book, when it doesn't seem to happen in reality? Even rainbows disagree - they go red->purple and then stop.

To answer this properly, we'll have to lay down some groundwork.

Cone Response Curves

Our color vision comes from the cone cells in our retina. We have three of them, each specialized at seeing a particular color. All of our light-sensing is accomplished by nerves that contain a particular chemical from the opsin family which changes shape when it absorbs photons of a particular wavelength. The nerve detects this shape change, and sends the information off to the brain - "I've been hit!".

We have four different opsin molecules in our eyes - rhodopsin in our rod cells, which responds to most of the visual light spectrum, and three specialized photopsins in each of our cone cells, which respond to a much narrower slice of the spectrum. Each one responds most strongly to one particular wavelength, and responds more weakly as the photon it absorbs moves away from that target wavelength, with one peaking at roughly a "red" color, one peaking at a "yellow-green", and one peaking at a "blue". They each overlap significantly, so a photon that triggers one type of cone will also trigger the other cones, to some degree.

Response curves for our four vision cells

All of our color vision comes from the amount of nerve response we get from these three types of cells. If our brain receives a strong red response, a medium green response, and a weak blue, it knows it's looking at red. If red and green are both moderately high, but blue is still weak, it's looking at yellow. (The wavelength of yellow light lies between red and green, so it's near the peaks of both red and green cone response curves.) Etc.

Spectral Colors

Now we know enough to talk about spectral vs non-spectral colors. A spectral color is the color we see when light of a single visible wavelength hits our eye. For example, if we shine light with a wavelength of about 560nm, you'll see it as yellow.

A non-spectral color, on the other hand, is any color we see that isn't created by a single wavelength of light, but rather by a combination. For example, white is produced by receiving light of multiple wavelengths across the spectrum, so all the cones get activated roughly the same amount; no single wavelength of light can ever produce that kind of response.

Non-spectral colors don't really "exist", in terms of "what colors exist in the light spectrum", but they often mimic spectral colors. For example, if you shine a combination of red and green light, your eyes will record a roughly equally high response from the red and green cones, and a low response from the blue cones. This is exactly the same as the response that spectral yellow produces, so this combination (red + green) gives us non-spectral yellow. This is how you see yellow on your computer monitors, which only have red, green, and blue pixels. Non-spectral colors aren't precisely the same (the green light component of non-spectral yellow, for example, activates the blue cones a little bit more than spectral yellow does), but it's close enough to fool our eyes most of the time.

In fact, you can produce non-spectral mimics of all the spectral colors between the peak of the red curve and the peak of the blue curve, by just using two lights, one with a slightly higher wavelength and one with a slightly lower wavelength. You can think of it as "averaging" the two wavelengths. (You can probably produce mimics a bit further out from each with some effort, but it would be more complicated.)

Now What About Purple?

So, now we can phrase our question a bit better - why does spectral purple (wavelength ~400nm) look like non-spectral purple (combination of ~440nm and ~650nm)? The "averaging" explanation doesn't make any sense; it tells us that we should be seeing some sort of non-spectral green. (Actually, the "averaging" explanation only works for wavelengths that are relatively close - blue and red are too far apart for it to work.) So what's the deal?

Most response-curve graphs you find are fairly simplistic. They show each cone's responses as a simple hill - smoothly climbs, peaks, then smoothly descends to zero. The graph I posted earlier in this post, though, shows a slightly more accurate view. It's not super-obvious, but the red and green cones' responses jump up a little bit again, over in the blue-light region. This means that spectral purple doesn't just activate the blue cones, it also slightly activates the red and green cones (mostly the red, iiuc).

This finally explains why mixing blue and red light also looks purplish - it produces the same cone responses! In other words, non-spectral purple only exists through a weird quirk of biology, because your red and green-sensing cones have an irregular response curve; it's not inherent in the physics of light (unlike many of the other non-spectral colors, which the "averaging" argument generally explains).

This also explains why magenta doesn't show up in the rainbow. Spectral purple, at best, only produces a weak red response. It's impossible to get a spectral color that produces both a strong blue and a strong red response. That can only happen in non-spectral purple, where you can easily ramp up the red intensity and get a strong response. Probably about 2/3rds of the space between red and blue on hue circles is purely non-spectral.

So, finally, mystery solved. 10-year-old me would have been ecstatic to hear this kind of explanation, because I virtually never see this topic discussed in articles about color vision.

Postscript: Imaginary Colors

I've sometimes seen the phrase "imaginary color" used to refer to colors that only exist as non-spectral colors, which no single wavelength of light can possibly produce. Most of the "purple" range, then, is "imaginary".

("Imaginary color" is also sometimes used for a different concept that touches on another weird quirk of color vision: colors like "reddish green" are difficult or impossible to imagine. It can also describe colors like "supergreen" that you can only see by tricking your eyes. There's a biological reason for these!)

Unfortunately, humans don't have very many imaginary colors, with our three simple cones. They give us 7 broad categories of colors, based on what cones are most activated: high red, high green, high blue, high red+green, high green+blue, high red+blue, and high everything. Of these, only the last two are imaginary, giving us the maroons and the grays (including white). We just can't see any more - every other combination either produces something close to a spectral color, or moves outside of our visual spectrum entirely.

If we had more types of cones, though, we'd have more imaginaries, too. Most birds have a fourth cone that senses UV light, out past blue. This gives them several more imaginaries, such as red+UV and green+UV, plus several three-cone combinations. Pigeons are believed to have five cones, as do several insects, some eels, and a handful of other animals. And then, of course, there's the mantis shrimp, which has 16 types of cones, and can detect polarization of light.

If you gained new cones that peaked between your existing cones, some non-spectral colors would no longer mimic spectral ones. For example, if we had a yellow cone, red+green light would produce an imaginary color, rather than looking like spectral yellow, because our eyes would have different responses in the two situations.

This postscript is kinda rambly, so I guess my main point is: COLORS ARE COOL AND INTERESTING.

(a limited set of Markdown is supported)

Your point is just! :D

I wonder how they went about figuring out that mantis shrimp have 16 types of cones?

It's also said that some humans have 4 cones, but you'd never know because that's all you've ever experienced.

I also love the good old "But what if your green is my red?!" ;)

Reply?

(a limited set of Markdown is supported)

Re #1:

I wonder how they went about figuring out that mantis shrimp have 16 types of cones?

I suspect they just looked at the eye cells.

It's also said that some humans have 4 cones, but you'd never know because that's all you've ever experienced.

Yeah, you'd just maybe run into people talking about colors in ways you didn't think quite made sense. Someone would hold up a yellow swatch to their computer screen and say they were identical, and you'd be like "No, they're a little different", and because of the variance in color perception anyway, probably nobody would think it's odd.

My own green perception is bad enough that it actually is noticeable, but it still took years to really find out - I had to run across the right kind of color-vision test, and it wasn't until my wife started decorating in light greens and olives that we really realized how bad it was. Previously, she just assumed I was being imprecise when I'd call my favorite hoodie brown (because it's actually a dark olive-brown, noticeably green to normal people).

Reply?

(a limited set of Markdown is supported)