Mit Farben/Farbspektrum rechnen

CPoly

Mitglied Weizenbier
Hi,

Seht euch mal die Grafik im Anhang an.

Dazu habe ich folgende Fragen und hoffe das mir jemand einen Denkanstoß geben kann.

1. Wie erzeuge ich eine solche Grafik? Nein, ich rede nicht von Gimp oder Inkscape, sondern ich will wissen was dahinter steckt. Ich will auch nicht höhren, dass ich dafür SDL, GDI, ImageMagick oder irgendeine andere Bibliothek/Anwendung nutzen kann, sondern ich rede von der Mathematik dahinter.

2. (Die eigentliche, wichtige Frage) Ich brauche eine Funktion, welche mir zu einer gegebenen RGB Farbe die Position (x und y) in diesem Spektrum gibt. Es geht nicht um exakt dieses Spektrum (Höhe und Breite) sondern nur um relative Werte (Man könnte das Spektrum ja auch kleiner oder größer darstellen).

3. Lässt sich das alles überhaupt im RGB-Raum lösen oder muss ich mich noch mit der Umrechnung etwa in HSV beschäftigen?

Gruß,
CPoly
 

Anhänge

  • color-spectrum.jpg
    color-spectrum.jpg
    18,1 KB · Aufrufe: 16

CPoly

Mitglied Weizenbier
Ich habe in einem jQuery Colorpicker (auf die Idee bin ich erst jetzt gekommen...) eine Funktion "whichColor(x,y)" gefunden, welche genau für die gezeigte Grafik die Farbe an Position (x,y) bestimmt. Ich denke damit komme ich weiter. Ich melde mich, sobald ich die Umkehrfunktion fertig habe.
 

CPoly

Mitglied Weizenbier
Ich hab mich jetzt ausgiebig damit beschäftigt und für alle die hier drüber stolpern und es vielleicht hilfreich finden:

Man muss lediglich den RGB Wert in HSV umrechnen und dann hat man praktisch schon das Ergebnis. H ist die X-Achse und S und V lassen sich zur Y-Achse umrechnen (in dem oben gezeigten Spektrum ist jeweils eines davon immer bei 100. Es fehlen also noch Zwischenfarben.)