darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.54k stars 1.13k forks source link

Color Harmonies: rework distribution of colors in RYB vectorscope #15972

Open Mark-64 opened 8 months ago

Mark-64 commented 8 months ago

After the introduction of color harmony guides in DT 4.4, there is an ongoing debate on DT GitHub and pixls.us about the "correct" color model to use in the vectorscope, RGB vs RYB. RYB is considered by many not well grounded into physics, yet most of the commercial tools available to work with CH do use it. Take for example Adobe Color Wheel (ACW) or Paletton. In my view it is true what Wikipedia says on the subject:

_Several patterns have been suggested for predicting which sets of colors will be perceived as harmonious. One difficulty with codifying such patterns is the variety of color spaces and color models that have been developed. Different models yield different pairs of complementary colors and so forth, and the degree of harmony of sets derived from each color space is largely subjective. Despite the development of color models based on the physics of color production, such as RGB and CMY, and those based on human perception, such as Munsell and CIE Lab*, the traditional RYB color model (common to most early attempts at codifying color) has persisted among many artists and designers for selecting harmonious colors._

What I propose here is a different approach: take inspiration from one of the aforementioned CH tools (ACW) to "improve" RYB vectorscope. I did some investigations on ACW, vs DT RYB, by putting on them primary, secondary and tertiary color patches and measuring the hue angles with respect to red, conventionally being 0°.

The following pictures show the method I used.

ACW

image

image

The table below summarizes the result

Color RGB ACW angle Step DT RYB angle Step
Red #FF0000 0.0   0.0  
Red-Yellow #FF8000 51.0 51.0 29.0 29.0
Yellow #FFFF00 122.0 71.0 120.0 91.0
Yellow-Green #80FF00 143.5 21.5 161.5 41.5
Green #00FF00 165.0 21.5 170.0 8.5
Green-Cyan #00FF80 191.5 26.5 180.0 10.0
Cyan #00FFFF 218.0 26.5 220.0 40.0
Cyan-Blue #0080FF 246.5 28.5 250.0 30.0
Blue #0000FF 275.0 28.5 257.5 7.5
Blue-Magenta #8000FF 302.5 27.5 265.5 8.0
Magenta #FF00FF 330.0 27.5 300.5 35.0
Magenta-Red #FF0080 345.0 15.0 346.0 45.5

Then I compared the angles of different color harmonies, see below

Harmony ACW angles DT angles
Analogous -30/0/+30 -36/-19/0/+19/+36
Analogous Complementary -30/0/+30/+180 -36/-19/0/+19/+36/+180
Complementary 0/+180 0/+180
Split Complementary 0/+150/+210 0/+162/+198
Dyad -30/+30 N/A
Triad 0/+120/+240 0/+120/+240
Tetrad -30/+30/+150/+210 -30/+30/+150/+210
Square 0/+90/+180/+270 0/+90/+180/+270

As you can see, while the CH angles are the same or very similar, RYB hue angles are quite different, and the steps between patches look more erratic in DT. The result is obviously that in DT and ACW complementary colors are different. So, although there is no wrong or right in absolute terms, my proposal is to rework the distribution of colors in RYB vectorscope to match ACW. I volunteer to code it, if there is some support by the core devs.

HSUfineprint commented 8 months ago

It's related to https://github.com/darktable-org/darktable/issues/15852.

We are not color scientists (if you are, I apologize.), that is driving in heavy mist. Why not just let user using color harmony guide in other scientist developed color model?

Mark-64 commented 8 months ago

It's related to #15852.

We are not color scientists (if you are, I apologize.), that is driving in heavy mist. Why not just let user using color harmony guide in other scientist developed color model?

I am aware of #15852 and I have my opinion about it, but regardless, this FR shoud not be seen as an alternative, both could be implemented.

Adobe Color Wheel and Paletton use a RYB color wheel for harmonies. that is is a fact, just have a look to those tools. That might be not scientific or plain wrong, but here I am just asking to follow what is already available out there for RYB.

Mark-64 commented 8 months ago

@jenshannoschwalm Isn't a bit early to tag this as controversial? I only got one comment, let' give people time to read...

jenshannoschwalm commented 8 months ago

OK, no problem. Controversial was for me "still open for discussion but controversial arguments"

github-actions[bot] commented 6 months ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.