Yet another dive into yet another corner of color theory...
Today I decided to make a node I've considered for a long time: complement. Give it a starting color and it would return color(s) complementary to that color: two colors (the color and its complement), or three colors (triadic), or four (tetradic), etc.
Straightforward, right? As usual with color theory: not so much.
Basically, the "complement" of a color depends entirely on what color wheel you use - there are MANY possibilities. And that just gives you the hue; how do you calculate the saturation or chroma or brightness or lightness or luminance or whatever (depending on which color model you are using)? Holding them constant may be problematic since changing hues also changes the perceived brightness, saturation, etc.
Even worse: there is really no such thing as a color wheel in a formal sense. There are color cubes, color cylinders, color cones, color spheres, etc. - all three dimensional. A color wheel is only two dimensional (with the third dimension left as a separate variable), so is not in itself a complete description. There are, nevertheless , historical color wheels - TONS of them - but each one is essentially arbitrary, and even the most famous ones have endless variations.
It makes for quite a rabbit hole. Here is an excellent conversation thread that explores many of the issues:
https://graphicdesign.stackexchange.com/questions/163028/color-theory-math
My conclusions so far:
- There are many different ways of defining color complements, all equally valid
- Choosing the right set of complementary colors must always be at least partly subjective
- Therefor a compliment node cannot be a simple calculation, like my luma node
- Instead, a compliment node should help you choose from a variety of different palettes, like my colors node
- There need to be enough options to provide interesting, clearly differentiable alternatives
- But not too many options. The whole point of this node is reduce infinite possibilities to a manageable subset.
I have already made good progress on a node which does just this. I've looked at zillions of online complementary color calculators and have distilled some commonly used options. I've got two color model alternatives so far (standard HSB and HCL - which gives a more perceptually balanced palette). I am working on a traditional RYB color wheel, but am having trouble finding formulas, despite the RYB formulas I developed last week. I may also try other color models (like OKLAB or maybe CYM), or develop hardcoded color wheels based on historical favorites like the Itten wheel. I also looked at providing an option for gamma correction, but this seems to make only a very subtle difference, so may not be worth the added cognitive load.
So stay tuned.
Meanwhile, any comments from artists on how you use complementary colors would be very helpful.