Funktion zum Konvertieren des HSV-Winkels in den RYB-Winkel

7

Ich versuche, ein RYB-Farbrad mit einem glatt aussehenden Farbverlauf über das RYB-Spektrum zu erstellen. Die Winkel des HSV-Rades sind falsch (gelb bei 60 Grad statt 120 Grad usw.).

Geben Sie hier die Bildbeschreibung ein

Wenn ich nur ein paar lineare Transformationen mache, sind die Ergebnisse immer noch nicht angemessen. Wahrnehmungsrot nimmt zu viele Winkel ein und Gelb nicht genug. Selbst wenn ich ein bisschen hacke und einen nichtlinearen Polynomgradienten versuche, ist es schwierig, die richtige "Ausbreitung" zu erhalten:

Geben Sie hier die Bildbeschreibung ein

Gibt es eine "offizielle" Funktion, die den HSV-Farbtonwinkel dem RYB-Farbtonwinkel zuordnet?

Update: Lesen dieses gibt einige Ideen, aber der Teil über mit Ausnahme von Cyan verwirrt mich mehr wegen des Adobe RYB Farbrad: Ist das wahr RYB oder ist es CMY mit Bunttonwinkeln im blauen Bereich verschoben?

Geben Sie hier die Bildbeschreibung ein

Escher
quelle

Antworten:

6

Ich habe gerade festgestellt, dass die Adobe-Farbquelle HSV-RYB-Farbtonzuordnungsfunktionen enthält (repliziert in Ben Knights Kuler-d3). Anscheinend verwendet Adobe stückweise lineare Verläufe anstelle des Polynoms, das ich verwenden wollte (und technisch gesehen handelt es sich um ein CMY-Rad, nicht um ein RBY-Rad, glaube ich). Hier sind die relevanten Haltestellen:

RYBstop HSVstop
60      35
122     60
165     120
218     180
275     240
330     300

Hier ist die Grafik von diesen, die die Wahrnehmungsabbildung zeigt:

Geben Sie hier die Bildbeschreibung ein

Es kommt also zu Artefakten an den Kreuzungen, an denen die Zuordnungsfunktion nicht reibungslos funktioniert (was im Originalbild von Adobe zu sehen ist). Und hier ist ein Imagemagick-Skript zum Erstellen des Farbrads.

#!/bin/bash
#assemble gradient pieces (pre-caculated stops), then join them all
convert -size 600x300 gradient:#000000-#181818 -rotate -90 grad1.png
convert -size 600x310 gradient:#181818-#2A2A2A -rotate -90 grad2.png
convert -size 600x215 gradient:#2A2A2A-#555555 -rotate -90 grad3.png
convert -size 600x265 gradient:#555555-#7F7F7F -rotate -90 grad4.png
convert -size 600x285 gradient:#7F7F7F-#AAAAAA -rotate -90 grad5.png
convert -size 600x275 gradient:#AAAAAA-#D4D4D4 -rotate -90 grad6.png
convert -size 600x150 gradient:#D4D4D4-#FFFFFF -rotate -90 grad7.png
convert grad?.png +append grad.png
#create hue
convert grad.png -alpha set -virtual-pixel Transparent -rotate 180 -distort Arc '360 -90 300' +repage -gravity center -crop 600x600+0+0 +repage h.png
#create saturation
convert -size 600x600 -alpha on radial-gradient:white-none s.png
#create value
convert -size 600x600 -alpha on radial-gradient:none-white v.png
#combine h,s,v in hsv colorspace
convert h.png s.png v.png -combine -set colorspace HSV -colorspace sRGB ryb.png

Geben Sie hier die Bildbeschreibung ein

Escher
quelle