Color Choosing Paradox, also Warmer vs Cooler

Thanks @Elle! I can’t say I understand the CIECAM equations at all, I’m “cheating” by using the colorspacious library: http://colorspacious.readthedocs.io/en/latest/reference.html#specifying-colorspaces (it seems this library is limited to sRGB? sigh). Maybe one day I’ll try the really spiffy-looking colour-science library: http://colour-science.org/

I guess for the blue–>orange–>white behavior it seems to make sense if you consider that reducing the colorfulness or making a surface color lighter both imply that you’re going to see more of the illuminant color. I’m still a bit foggy as to why it goes to white eventually, but I read somewhere that with enough intensity all colors turn white because our visual system is peaked out on all channels (or something to that effect).

Now I’m trying to figure out if it makes sense to mess with the gui and the picking of colors from the palette. Right now it is a bit odd in that it lets you choose impossible colors for a given illuminant. Normally with D65 the range of lightness and colorfulness is between ~0-100 and ~0-40 for any given hue. But things get wonky with extremely colorful illuminants. Say I make my illuminant a pure sRGB blue (0,0,1). It should be pretty hard to get a pure yellow surface color, right? Nope, if I pick yellow from the palette, it will happily paint with that color. Internally it computes a ridiculous set of ciecam attributes to accommodate the color-- a lightness of 12,000 and colorfulness of 3,000. I guess that might be totally rational-- in order for an object to appear bright yellow under a pure blue light it would have to be super-natural?

The other thing I just noticed is that the blue illuminant is the most extreme example, any other colors for an illuminant are not nearly as bad, only increases the lightness range to 0-400, and colorfulness 0-300 or so. I suppose that means that a blue light is possibly the worst light for color reproduction?