next up previous contents
Nächste Seite: Farbkreise zeichnen Aufwärts: Die Festlegung von Farben Vorherige Seite: Die verschiedenen Farbkodierungen   Inhalt

Umrechnung von hsv in rgb

Für die Umrechnung von hsv-Werten in rgb-Angaben existiert eine Bibliotheksprozedur rgbvec = hsv2rgb(hsvvec. Die Ein- und Ausgabeparameter sind beide Vektoren mit je drei Komponenten, entsprechend der Buchstabenfolge. Jede Komponente kann Werte zwischen 0 und 1 annehmen (Achtung! andere Systeme verwenden Werte zwischen 0 und 100 und wieder andere zwischen 0 und 255.)

Um das Prinzip der Umrechnung zwischen hsv und rgb klarzustellen wurde die Bibliotheksfunktion nochmals programmiert, natürlich mit anderem Namen (rgbfromhsv() statt hsv2rgb() ).
Zuerst erfolgt die Auswertung des Farbwinkels dies ergibt die RGB-Werte zu voller Farbsättigung und voller Helligkeit. Den drei Grundfarben Rot, Grün und Blau sind die Winkel 0 $ ^{\mathrm{o}}$, 120 $ ^{\mathrm{o}}$, und 240 $ ^{\mathrm{o}}$  zugeordnet. Jede dieser Farben hat den Wert 100% und die anderen Null bei dem entsprechenden Farbwinkel

Bei 60 $ ^{\mathrm{o}}$liegt Gelb, mit 100% Rot und gleichzeitig 100% Grün. Zwischen 0 und 60 $ ^{\mathrm{o}}$bleibt Rot ständig auf dem Maximum und Grün steigt gleichmäßig an. Zwischen 60 $ ^{\mathrm{o}}$und 120 $ ^{\mathrm{o}}$ nimmt dann Rot gleichmäßig von 100% auf 0 ab. Zwischen 120 $ ^{\mathrm{o}}$und 240 $ ^{\mathrm{o}}$ergibt sich das gleiche Spiel mit Grün und Blau. Die Variation verläuft von 100% Grün 0% Blau bei 120 $ ^{\mathrm{o}}$, im Übergang zu 100% Grün und 100% Blau bei 180 $ ^{\mathrm{o}}$(Cyan) und weiter zu 0% Grün, 100% Blau bei 240 $ ^{\mathrm{o}}$.

Farbe Winkel Rot Grün Blau
Rot 0 $ ^{\mathrm{o}}$ 100% 0% 0%
Übergang R-G bleibt zunehmend 0%
Gelb 60 $ ^{\mathrm{o}}$ 100% 100% 0%
Übergang G-Y abnehmend bleibt 0%
Grün 120 $ ^{\mathrm{o}}$ 0% 100% 0%
Cyan 180 $ ^{\mathrm{o}}$ 0% 100% 100%
Blau 240 $ ^{\mathrm{o}}$ 0% 0% 100%
Magenta 300 $ ^{\mathrm{o}}$ 100% 0% 100%

Um die verlangte Farbsättigung zu erreichen, wird zu dieser voll gesättigten Farbe ein ``Weiß-Sockel'' addiert, der zu gleichen Teilen (sat*100%) aus Rot, Grün und Blau besteht. Damit keine Farbe mehr als 100% erreicht, müssen die Werte für die gesättigte Farbe vor der Addition der zwei Teile mit dem Faktor (1-sat) multipliziert werden.

Als dritte Komponente wird die Helligkeit einbezogen, diese ist einfach eine Multiplikation aller Komponenten mit dem Helligkeitsfaktor.

Ein paar Beispiele können dieses Schema zusätzlich erläutern:

Farbe Winkel Sättigung Helligkeit Rot Grün Blau
Rot 0 $ ^{\mathrm{o}}$ 100% 100% 100% 0% 0%
Blassgelb 60 $ ^{\mathrm{o}}$ 50% 100% 100% 100% 50%
Nachtblau 240 $ ^{\mathrm{o}}$ 100% 50% 0% 0% 50%  

Bei verkleinerter Sättigung gibt es einen Anteil der R,G und B gemeinsam ist, der Weiß-Sockel. Bei verkleinerter Helligkeit erreicht keiner der Anteile 100%.


next up previous contents
Nächste Seite: Farbkreise zeichnen Aufwärts: Die Festlegung von Farben Vorherige Seite: Die verschiedenen Farbkodierungen   Inhalt
Stefan Adam 2006-03-07