Fellow Nodeboxer Nick Rougeux has just created another wonderful color-related project, "The Natural System of Colours":
https://www.c82.net/natural-colors/
And, as is his custom, he has also released a detailed blog on the Making of The Natural System of Colours, describing his meticulous process:
https://www.c82.net/blog/?id=97
You should now stop everything and devour both of these links. Nick's work is AMAZING!
For this project, Nick uses some cutting edge tools to digitally recreate an 18th century treatise on watercolors. Although a short project by his standards, only two weeks, it involved a lot of trial and error, and a lot of tedious busywork getting all 720 colors on four color wheels just right.
This made me wonder if my colors nodes could do a quick and dirty version. In particular, could my palette node come anywhere close to selecting the 18 base colors of his prismatic color wheel using only the three red, yellow and blue foundation colors? And could my blend_color node dilute those 18 colors down to 10 levels each to form the full wheel?
I knew they could quickly make an approximation, but how close would they come to Nick's final colors?
Hence my quick little expeiment, attached.
The demo shows two color wheels. On the left is a redrawing of Nick's final prismatic wheel using the 180 hex codes he thoughtfully supplied. On the right is my quick and dirty recreation based only on the original shades of red, yellow, and blue.
My palette node lets you choose from five different color spaces and provides several other adjustments. I spent a few minutes playing around with these settings, and finally chose the OKLAB color space. Try changing to other spaces to see how the overall color wheel is affected. You can also try changing the transition softness and intensity; for RGB, HSB and RYB you can click "Correct lightness" (gamma correction) on and off.
RYB (with no gamma correction) also does pretty well, as you might expect given that we are mixing those three paint colors. LCH completely muffs the hues between yellow and blue, and blue back to red; Nick's exact hue values for yellow and blue are closer to the red ends of the spectrum than they are to each other, but this didn't cause a problem for OKLAB. Puzzling - I may have to look into this.
You could get much better results by feeding in a few of the intermediate colors from Nick's data instead of relying only on red, yellow and blue, but that would be cheating. You could also do better by generating three separate spectrums from red to yellow, yellow to blue, and blue back to red. My lazy approach of generating the whole thing at once meant that the yellow and blue colors both drifted slightly from Nick's definitions.
CONCLUSION
I think the palette node did pretty well. Some individual colors fared better than others, but the overall gestalt is reasonably close. My blend_color node also did well simulating the watercolor dilutions against the approximate paper color. Blend_color does not have a provision for variable alpha levels, so I had to add that using my change_color node. I may update blend_color to make this use case easier.
Nick, if you're out there, I would love to hear your reaction to all this. In any case, thank you for another superb project. I really enjoyed learning about Mose Harris, the very cool Rebelle app, and the whole way you attacked this interesting problem.
John