Hallo Peter,
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: PeterSurma</i>
Dein Hue-Problem liegt daran, dass Hue keine Physik ist (!) sondern eine pure Konvention wie Farben in eine menschliche Systematik gebracht werden (Hue). <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Ja, das ist mir klar.
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: PeterSurma</i>
Du kannst es - wenn Du es wissenschaftlich machen willst (die Frage ist, willst Du das ?) - nicht mit einfacher Hue-Drehung machen.
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">
Sagen wir mal es soll halbwegs wissenschaftlich sein. Ich bin bereit gewisse Vereinfachungen zuzulassen. Zum Beispiel wäre ich bereit, die Wellenlängen-Abhängigkeit der Rotverschiebung zu vernachlässigen.
Aber die Variante die Konrad weiter oben vorgeschlagen hat (einfach die grün- und blau Kanäle abschwächen) das ist mir eine zu starke Vereinfachung.
Ich formuliere das Problem nochmal mit anderen Worten:
Gegeben ist ein RGB Bild mit beliebigem Inhalt. Das kann ein astronomisches Objekt sein, aber es könnte auch was anderes sein.
Gesucht ist ein Algorithmus, der dieses Bild in Richtung rot verschiebt. Die Weite der Verschiebung soll einstellbar sein von 0 bis mindestens 120°, bezogen auf den Farbkreis. 120° wäre der Fall, wenn aus grün rot wird.
Insbesondere soll der Algorithmus folgende Fälle korrekt abbilden:
0,0,0 --> 0,0,0 (schwarz bleibt schwarz)
Bei 60° Verschiebung:
1,0,1 --> 0,0,1 (violett wird blau)
0,0,1 --> 0,1,1 (blau wird cyan)
0,1,1 --> 0,1,0 (cyan wird grün)
0,1,0 --> 1,1,0 (grün wird gelb)
1,1,0 --> 1,0,0 (gelb wird rot)
1,0,0 --> 0,0,0 (rot wird schwarz)
1,1,1 --> 1,1,0 (weiss wird gelb ?)
Bei 120° Verschiebung:
1,0,1 --> 0,1,1 (violett wird cyan)
0,0,1 --> 0,1,0 (blau wird grün)
0,1,1 --> 1,1,0 (cyan wird gelb)
0,1,0 --> 1,0,0 (grün wird rot)
1,1,0 --> 0,0,0 (gelb wird schwarz)
1,0,0 --> 0,0,0 (rot wird schwarz)
1,1,1 --> 1,1,0 (weiss wird gelb ?)
Gruß
Michael
P.S. Es würde auch genügen, wenn der Algorithmus nur von 0 bis 60° funktioniert. Für größere Verschiebungen könnte man ihn ja mehrfach anwenden.