17
$\begingroup$

Why do red, green, and blue combinations can make up all the visible colors?

$\endgroup$
14
  • 12
    $\begingroup$ They don't make up all the colors. They just make up a sufficient range of them that most scenes can be represented with acceptable fidelty. $\endgroup$ Oct 28, 2017 at 0:08
  • 6
    $\begingroup$ Because humans have red, green and blue receivers in their eyes. $\endgroup$
    – user253751
    Oct 28, 2017 at 2:43
  • 2
    $\begingroup$ This would be better for biology stack exchange (if there is one) because it is more a question about the human visual system than one of computer graphics. $\endgroup$ Oct 28, 2017 at 18:57
  • 2
    $\begingroup$ @mathreadler biology.stackexchange.com $\endgroup$
    – briantist
    Oct 28, 2017 at 19:06
  • 4
    $\begingroup$ Apparently there is at least one tetrachromat woman (see en.wikipedia.org/wiki/Tetrachromacy) that is able to distinguish more colours than those of us who are trichromat. $\endgroup$
    – Bill Bell
    Oct 29, 2017 at 3:53

5 Answers 5

23
$\begingroup$

Let's reminds ourselves what light is.

Radio waves, micro waves, X rays and gamma rays are all electromagnetic radiation and they only differ by their frequency. It just so happens that the human eye is able to detect electromagnetic radiation between ~400nm and ~800nm, which we perceive as light. The 400nm end is perceived as violet and the 800nm end is perceived as red, with the colors of the rainbow in between.

A ray of light can be a mix of any of those frequencies, and when light interacts with matter, some frequencies are absorbed while other might not: this is what we perceive as the colors of objects around us. Unlike the ear though, which is able to distinguish between a lot of sound frequencies (we can identify individual notes, voices and instruments when listening to a song), the eye is not able to distinguish every single frequency. It can generally only detect four ranges of frequencies (there are exceptions like daltonism or mutations).

This happens in the retina, where there are several kinds of photo-receptors. A first kind, called "rods", detects most frequencies of the visible light, without being able to tell them apart. They are responsible for our perception of brightness.

A second kind of photo-receptors, called "cones", exists in three specializations. They detect a narrower range of frequencies, and some of them are more sensitive to the frequencies around red, some to the frequencies around green, and the last ones to the frequencies around blue.

Because they detect a range of frequencies, they cannot tell the difference between two frequencies within that range, and they cannot tell the difference between a monochromatic light and a mix of frequencies within that range either. The visual system only has the inputs from those three detectors and reconstruct a perception of color with them.

For this reason, the eye cannot tell the difference between a white light made of all the frequencies of the visible light, and the simple mix of only red green and blue lights. Thus, with only three colors, we can reconstruct most colors we can see.

By the way, rods are a lot more sensitive than cones, and that's why we don't perceive colors in the night.

$\endgroup$
3
  • 5
    $\begingroup$ "Thus, with only three colors, we can reconstruct all the colors we can see." This sentence is incorrect. Starting from three primaries, you can only reconstruct certain colors. The range of colors that can be reconstructed is called the "gamut". You can search for "sRGB gamut" and find pictures that show a triangle inside a larger parabola. The triangle represents the colors that we can make from the sRGB primaries, and the parabola is all the colors we can see. From this it's clear that any triangle inside the parabola will be smaller than it. $\endgroup$ Oct 28, 2017 at 2:20
  • $\begingroup$ woops, you're right. I've replaced "all" with "most" and will try to think of an explanation for the remaining visible colors. $\endgroup$ Oct 28, 2017 at 7:38
  • 4
    $\begingroup$ Also the concept of white light is governed by our really fancy white balance system it dont mich matter what the color is it will be precieved as white. Incandescent lightbulbs are orange but if we are inside the house we precieve them as white. As for the extra colors, if you integrate the energies of your color distribution multiplied by curves ratchet freaks show you youll notice that sometimes you get unique signals because the overlap is different. $\endgroup$
    – joojaa
    Oct 28, 2017 at 7:45
20
$\begingroup$

They don't.

The problem with the diagrams representing the visible and RGB gamuts is that they're presented on RGB displays. They obviously cannot show you what they cannot show you : the area inside the parabola but outside of the triangle.

RGB gamut

The region outside of the triangle cannot be shown on your screen in a faithful way. For example, RGB cannot display a true, deep cyan. All you see is an approximation using green and blue. Some diagrams don't even try and only show a gray area :

enter image description here

To see what cyan can look like, you could stare at the white dot on this drawing for at least 30 seconds (2 minutes are recommended) and then slowly move your head towards a white wall:

cyan illusion

Similarly, RGB displays cannot show deep, saturated oranges or browns.

$\endgroup$
10
  • 2
    $\begingroup$ @narthex: Thanks for the comment. I updated the answer. Is it any better now? $\endgroup$ Oct 28, 2017 at 12:28
  • 1
    $\begingroup$ And also, (staring at that last image), the red circle dances around. Fun $\endgroup$
    – user7566
    Oct 28, 2017 at 16:47
  • 4
    $\begingroup$ The problem with CIE colorspace plots is that they are very hard to understand, hell we dont even know if some of the areas in the graph happen to make metamers. Also the reason why you simply can not make a bigger triangle is not apparent (hint there is nothing outside the shape). $\endgroup$
    – joojaa
    Oct 28, 2017 at 18:33
  • 2
    $\begingroup$ @joojaa: xkcd.com/1882 $\endgroup$ Oct 28, 2017 at 19:24
  • 5
    $\begingroup$ Great, now I have a cyan dot in the middle of my vision :-( $\endgroup$
    – Kevin
    Oct 29, 2017 at 0:32
17
$\begingroup$

Humans are trichromatic, which means we have 3 different kinds of color receptors (better known as cone cells), each sensitive to a different set of wavelengths:

frequency responses of different cone cells
Image source: wikipedia

So it only takes 3 different monochromatic stimuli to fool our eye into thinking it sees a color that is the same as another. Red, green, and blue are good fits to the peaks of the frequency response curves of each type of color receptor.

$\endgroup$
1
4
$\begingroup$

One more thing: "violet" and "purple" are not the same color. Violet is a pure color around 400 nm; but purple is a combination of red and blue. To our not-quite-perfect human eyes they look the same.

If you pass a beam of pure violet through a triangular prism, the light will be bent but not broken up into components. If you then shine a beam of purple through the same prism, it will be separated into a blue and a red beam, with different amounts of "bend" to them.

$\endgroup$
3
  • $\begingroup$ Depends what you mean by "color." In many contexts, it makes a lot of sense to say that if nobody can see the difference between two different patches on a surface, then both patches must be the same "color." On the other hand, when a painter says "color," she or he is talking about the physical substance into which he/she dips a brush. In that case, see en.wikipedia.org/wiki/Metamerism_(color)#Metameric_failure $\endgroup$ Oct 28, 2017 at 19:38
  • 1
    $\begingroup$ @jameslarge: It really doesn't. Just because they look the same under one light source doesn't mean they'll look the same under a different one, even if both light sources look identical on a white surface. $\endgroup$ Oct 28, 2017 at 21:02
  • $\begingroup$ I don't think this answers the question in any way. It also applies to any colours - not just violet and purple. Monochromatic light of any hue from red through to violet won't get split by a prism, and any mixed light will get split. $\endgroup$ Oct 29, 2017 at 5:59
4
$\begingroup$

They don't. Aside from what others have said about the physical reasons not, from a practical computer graphics standpoint, representing either surface pigments or light sources with RGB color is insufficient to model colored lighting of a scene. For example there is no way to represent a material which is translucent or reflective only in a narrow band; you can only represent translucency or reflectivity of wide bands corresponding roughly to what the red, green, and blue cones in the human eye pick up. This actually matters for a lot of real-world colors in the pink/purple/violet family, which look radically different under different types of light, even different "white" light that looks identical when viewed on a white surface.

$\endgroup$
6
  • 1
    $\begingroup$ One common example for that is the quasi-monochromatic sodium vapor lamps, which are commonly used for city lamps and look always different in reality than on photos. $\endgroup$ Oct 29, 2017 at 9:03
  • $\begingroup$ but those are fringe issues, I would consider very advanced. The issue doesn't materialize in most cases, RGB is just a fourier encoding with 3 harmonics of some signal that happens to be enough for most cases. $\endgroup$
    – v.oddou
    Oct 30, 2017 at 2:14
  • $\begingroup$ @JulienGuertault: While that's a nice example, I don't think it's quite an example of what my answer is pointing out - as long as your photosensor's/film's responses to the light in its 3 components matches the human eye's well enough, it should faithfully represent what a human would see. Where RGB (or any other model that lumps whole ranges of the frequency spectrum together) is insufficient is for actually modelling surfaces and light sources in a way that you can predict the perceived color of a light on a surface. $\endgroup$ Oct 30, 2017 at 2:40
  • $\begingroup$ @v.oddou: "I don't care, it looks good enough" is a reasonable position to take, but there really is a difference. You won't be able to model the way the color of a wall looks different under daylight vs incandescent light vs led light that's supposed to be the same color temp as one or the other. $\endgroup$ Oct 30, 2017 at 2:52
  • $\begingroup$ hmm, I might have misunderstood. Do you have a concrete example of the limitation you are referring to? $\endgroup$ Oct 30, 2017 at 3:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.