1

Wie kann ich zwischen n Farben interpolieren.Wie interpoliert man zwischen n Farben durch einen Bruchteilbeitrag für jede Farbe?

einfacher Fall von 2 Farben

Betrachtet sie einen einfachen Fall zuerst, wo wir den Mittelpunkt von zwei Farben finden möchten.

Color1 is RGB (255, 0, 0) // Red 
Color2 is RGB (128, 128, 128) // Grey 

Die Lösung der Mittelpunkt zwischen jedem wobei R, G, B getrennt betrachtet.

RGB (128 + 64, 128/2, 128/2) = RGB (192, 64, 64) 

Seit der Mitte der Punkt ist, genau zwischen den beiden und gibt es eine lineare Beziehung zur Interpolation, dann seine possiable um einen Bruchteil, wie beispielsweise 0,25 zwischen Color1 und Farbe2 zu interpolieren, sollte die Farbe näher zu Farbe1.

RGB (255 - 32, 32, 32) = RGB (223, 32, 32) 

Fall von n Farben

Der Fall möchte ich eine Lösung zu finden, wo es n Farben, wobei jede Farbe eine fraktionierte Gewichtung auf 1,0 in Höhe von bis hat.

(Erraten, nehme ich jede Farbe in Betracht gezogen werden könnte einen Punkt in einem 3-dimensionalen Raum sein, und die Gewichtung wird beschrieben, wie weit relativ der interpolierte Punkt auf jeden Farbpunkt)

Die Farbinterpolation lineare RGB nur .

Unter einigen Bedingungen denke ich, dass es mehrere ganzzahlige Werte geben kann, die Lösungen für das Problem sind, zum Beispiel, wenn es ein paar Farben gibt, die einen ähnlichen Wert haben.

Ich lese dort ist bi-lineare Interpolation, die dazu beitragen kann, dies zu lösen.

Normalerweise würde die Anzahl der Farben nicht 5 überschreiten, es wäre in der Regel 2, 3 oder 4 Farben.

+1

Sorry, habe ich nicht ganz verstanden, was eigentliches Problem. Sie haben bereits beschrieben, wie Sie zwischen zwei Farben interpolieren können. Was ist ein Problem, um dieses Wissen zu Iterpolieren n Farben? Wenn Sie nicht nur eine "Polygon" -Interpolation bereitstellen möchten, können Sie auch Punkte für die gleichen "Dimensionen" erhalten und daraus ein Polynom erstellen und dann dieses Polynom durchlaufen. –

+0

Das Hauptproblem, das ich vermute, ist, dass ich in Mathe nicht gut bin. – Phil

Antwort

1

Ihre Vermutung wird eine akzeptable Lösung geben (ja, Sie müssen jede Dimension separat interpolieren).

Das Problem ist, der Farbraum kann von mehr als einem Modell beschrieben werden, jedes mit unterschiedlicher Anzahl von Dimensionen. Je nachdem, ob Sie sich für RGB, CMYK, HSL oder eine andere exotische Beschreibung entscheiden, wird die Interpolation anders aussehen - und da die Unterschiede meist ästhetischer Art sind, werden sie nur sehr schwer technisch zu beschreiben sein. Zum Beispiel bewegt sich die Interpolation unter Verwendung von HSL immer zwischen Farben, indem der Farbkreis verwendet wird.

Eine schöne Beschreibung einiger Folgen verschiedene Farbmodelle für Berechnungen mit (und der Komplexität bringt) im Krita Handbuch: https://userbase.kde.org/Krita/Manual/ColorManagement