News for hackers. Stuff that matters.
Re:Practical Color Theory for People Who Code (2016) by eurleif on Tuesday February 23, 2021 @03:23AM (#26234992)
Is there any evidence that RYB is more than a historical mistake which our culture has been slow to grow out of? We know now that the correct subtractive primary colors are CMY. Your informal experiments with art students may speak more to how they were (mis)educated than to anything intrinsic about color perception, no?
Re:Practical Color Theory for People Who Code (2016) by klodolph on Tuesday February 23, 2021 @04:06AM (#26235246)
The idea that RYB is somehow a mistake is a difficult one to defend.

> We know now that the correct subtractive primary colors are CMY.

It is not that simple. CMY is not "correct" by any sense of the word. Both additive and subtractive color models suffer from the same flaw... you cannot represent all perceptible colors by starting with three colors and mixing them. CMY is simply a choice from one of many possible choices.

CMY and RGB are both simply convenient choices. By choosing RGB primaries (and there are a lot of different reds, greens, and blues to choose from) you can represent a reasonably large subset of the colors present in the natural world.

However, if create a monochromatic (narrow band of wavelengths) light source which looks yellow, you won't be able to reproduce that color of yellow by mixing red and green. There are experiments that test exactly this property. RGB is limited.

In a sense, the choice of red, green, and blue is arbitrary. The primary colors are not derived from some property of physical light, nor are they derived from some truth about human color perception. They do happen to work very well--because the space of colors we can perceive is vaguely triangular.

There are consumer printers you can buy that go well beyond simply CMY or CMYK color models. Epson sells printers with six colors of ink, not counting black. Commercial printing services also provide "spot" channels for whatever color of ink you are able to source.

Re:Practical Color Theory for People Who Code (2016) by zokier on Tuesday February 23, 2021 @04:47AM (#26235479)
> In a sense, the choice of red, green, and blue is arbitrary. The primary colors are not derived from some property of physical light, nor are they derived from some truth about human color perception.

What about the cone cell response curves which roughly correspond to r, g, and b? https://commons.m.wikimedia.org/wiki/File:Cones_SMJ2_E.svg#m...

> They do happen to work very well--because the space of colors we can perceive is vaguely triangular.

That is hardly a coincidence. Our perceived color space is vaguely triangular because we have vaguely three types of cone cells to detect color.

Re:Practical Color Theory for People Who Code (2016) by klodolph on Tuesday February 23, 2021 @05:02AM (#26235553)
> What about the cone cell response curves which roughly correspond to r, g, and b?

The diagram is misleading because the spectral sensitivity curves are drawn using red, green, and blue colors on the chart. Read the wavelengths on the bottom--they do not roughly correspond to red, green, and blue. This is why they are named L, M, and S instead.

The peak sensitivities are closer to green, a different green, and violet.

> That is hardly a coincidence. Our perceived color space is vaguely triangular because we have vaguely three types of cone cells to detect color.

It's a poor approximation of a triangle. It's more paraboloid.

It would be a triangle if there were no overlap between the spectral sensitivity of different receptors. Since there is overlap between the green, other green, and purple receptors, the shape is not a triangle.

Re:Practical Color Theory for People Who Code (2016) by tobr on Tuesday February 23, 2021 @06:01AM (#26235900)
> The peak sensitivities are closer to green, a different green, and violet.

This is fascinating. My first instinct is to say that the peak of those curves are not as important as where they discriminate best/where they are most different from the other curves - which does seem to give a more clear red, green and blue. But I’m sure it’s not that simple when you take into account how the brain processes these signals.

Would it be possible to create a good color screen using subpixels emitting light at the peak sensitivity frequencies?

Re:Practical Color Theory for People Who Code (2016) by klodolph on Tuesday February 23, 2021 @02:05PM (#26241419)
Any three-primary system is going to cover a triangle of colors. RGB primaries cover a fairly large triangle. If you wanted a larger gamut, you might consider switching to four primaries. You can still encode colors using the RGB space and convert to e.g. RGBY in the display or whatever.
Re:Practical Color Theory for People Who Code (2016) by zokier on Tuesday February 23, 2021 @02:29PM (#26241706)
I do note that this is a limitation mostly for physical systems/models. For non-physical color spaces you can make a triangular shape cover far more of the human visible gamut by having the primaries be "imaginary", i.e. not real visible colors. ACES AP0 is one great example of that
Re:Practical Color Theory for People Who Code (2016) by klodolph on Wednesday February 24, 2021 @12:46AM (#26247014)
Yes, if you had something like a RGBY display, you would probably use a high-gamut RGB space to encode the data and do a transformation prior to display.
Re:Practical Color Theory for People Who Code (2016) by kps on Tuesday February 23, 2021 @09:59AM (#26238019)
No, because light at the L (‘red’ cone) peak still stimulates M (‘green’) around 75%, and the brain makes that yellow. To see red, you need a lower frequency that stimulates L twice as much as M.
Re:Practical Color Theory for People Who Code (2016) by invincing on Tuesday February 23, 2021 @10:57AM (#26238760)
This is not about peak sensitivities. The RGB colors are used as primaries because they provide a large response on one type of cones, and as small as possible response on the two other types of cones.

Blue is chosen to have as small wavelength as possible (S=small) and red is chosen to have as long wavelength as possible (L=long), while both being still in the visible spectrum with large enough response from S and L cones respectively.

Since M and L response profiles overlap anyway and just the ratio of the response changes, green is chosen to be as far away from the red, but still outside of the response curve of S cones that get stimulated by blue. This happens to be also around the peak sensitivity for the M cones.

Re:Practical Color Theory for People Who Code (2016) by invincing on Tuesday February 23, 2021 @10:34AM (#26238460)
CMY/RGB is not an arbitrary choice for color model. It's the best approximation for stimulating the color receptors in the human eye. RYB on the other hand is just historical model that still exists because traditions in the art teaching change slowly.

It's a wrong notion of primary colors that one could choose any three colors for primaries. Yes, it's possible to choose any three colors and mix a set of other colors within the triangle defined by these three. However, by definition a primary color is a color that can't be mixed from any other colors. Cyan, magenta and yellow are such colors. It's not possible to mix cyan or magenta from the RYB palette, on the other hand red can be mixed from magenta and yellow, and blue can be mixed from cyan and magenta.

The reason why RGB/CMY are the primaries is exactly because of the stimulus response of the human eye. The purpose of color reproduction is to cause a specific response in the three receptors in the eye. Since there are only three different kinds of receptors, it's possible to produce the exact same response in the receptors in multiple ways (thus we have metamerism). RGB primaries are chosen because each of the primary colors causes a large response in one type of receptors and as small response as possible on the other two receptors. (And CMY is then the opposite of this by causing as large response as possible on two receptors, and as small as possible on one.)

The reason why the traditional RYB palette has two versions of each of its "primaries" is because RYB "primaries" are so bad at covering the visible color gamut that by introducing two versions of each color it's possible to expand the triangle from which to mix into a hexagon.

The exact wavelength profiles for R, G and B may vary between different display technologies, and some technologies can represent the color better than others. This doesn't mean that the RGB model is arbitrary in any way, but that there are just practical reasons why the theoretical optimum is not always reachable. Some of the standards for RGB reproduction take this into account and define a color space that follows the common technologies rather than the theoretical optimum, and thus have a limited gamut.

Color printers with more than 4 inks don't abandon CMYK model. I have a large-format printer that in addition to basic CMYK has gray, light cyan, light magenta and light yellow inks. The purpose of these lighter shades is to allow printing light areas with less visible dot raster. The color model is still CMYK.

Some printers also include red, green and blue. These exist basically for the same reason there's black in CMYK. Even if CMY is theoretically correct model for wavelength response to match the human eye, there are real-world limits to ink and paper technology; for instance 100% fill of all CMY is not as black as 100% fill of black.

Purpose of spot colors is not related to color model, but color reproduction. If you define your spot colors by Pantone number, there's a guarantee that the color will match exactly what you ordered. It's much harder to get exact color reproduction with CMYK process, because the number of variables affecting the end result is so high. Another purpose for spot colors is all kinds of specialty inks like metallic colors etc. Sometimes it's also a cost issue, because it can be cheaper to use black + one accent spot color than a full CMYK process, or a quality issue, because with spot colors you don't get the color raster.

Re:Practical Color Theory for People Who Code (2016) by Daub on Tuesday February 23, 2021 @04:05AM (#26235235)
A good question.

The disputable value is 'maximum possible perceptual hue difference'.

In color science, difference is usually understood in terms of 'minimum possible'. This is how the god-like Albert Munsell first mapped the perceptual color domain. Maximum possible has almost no presence in color science literature. I assume that this is because of the asymmetry of perceptual maximum/perceptual minimum.

Without solid empirical data, I can only support the validity of RYB pairs by pointing out that Leonardo (and everyone else who wrote about color prior to Newton), supported this pairing without knowing the relative position of these pairs on any color wheel. A weak argument, perhaps.

I know it is possible to design an experiment to prove/disprove the validity of RYB complementaries. It was on our to-do list before our computational aesthetics project ran out of money. However, I shall continue to assume its truth. My reason is simple: from a life time as a painter I know that RYB complementary pairs are true. An even weaker argument.

Re:Practical Color Theory for People Who Code (2016) by tobr on Tuesday February 23, 2021 @04:05AM (#26235237)
Our understanding and interpretation of colors are very much shaped by the culture, such as which words we have to describe colors. So can you really say that it would amount to miseducation, just because it doesn’t fit color perception perfectly?