6 Stimmen

Iteration über Farben

Gibt es eine gute Möglichkeit, über Farben zu iterieren? Ich weiß, es klingt wie eine seltsame Frage, aber hier ist eine Analogie.

Angenommen, Sie schreiben ein Spiel, in dem Sie um die Erde reisen. Du wählst einen Startpunkt und legst dann eine Regel fest, die du wiederholt anwendest. Zum Beispiel: Beginnen Sie an Ihrem aktuellen Standort auf der Erde und definieren Sie dann den Großkreis, der durch Ihren Standort und den Nord- und Südpol geht. Bei jedem Schritt reisen Sie 10 Meilen entlang dieses Kreises. Jeder Schritt führt Sie in ein ähnliches Klima wie der vorherige (obwohl Sie manchmal furchtbar nass sind, weil Sie im Meer sind). Oder reisen Sie für jeden Schritt 6.000 Meilen. Jetzt ist jeder Schritt ein ganz anderes Klima.

Stellen Sie sich nun ein Programm vor, das Elemente mit zufälligen Farben auf den Bildschirm zeichnet. Vielleicht setzen Sie die Schrittweite auf eine niedrige Zahl, und jede Farbe ist der vorherigen sehr ähnlich. Vielleicht stellen Sie sie hoch ein, und jede Farbe unterscheidet sich stark von der vorhergehenden.

Wenn Sie RGB-Werte verwenden und R, G und B jeweils um einen kleinen Betrag erhöhen, erhalten Sie allmähliche Änderungen, bis einer der Werte umschlägt und Sie eine plötzliche Änderung erhalten.

Bei HSB-Werten ist die Farbskala der Farbtöne kreisförmig, so dass es keine Diskontinuität gibt. S und B sind nicht kreisförmig, und es kann zu einer Reihe von nicht unterscheidbaren Farben kommen, weil S so niedrig ist, dass sie alle weiß aussehen. S und B auf Maximum zu halten, ist eine Möglichkeit, auch wenn dadurch viele Farben ausgelassen werden.

Bei jedem Durchlauf des Programms wird nur eine kleine Anzahl von Farben (10 bis 15) verwendet. Ich möchte die Werte nach dem Zufallsprinzip auswählen, so dass die Farben einmal harmonisch ineinander übergehen, ein andermal miteinander kollidieren, einmal nur Pastellfarben sind, ein andermal eine Mischung aus gesättigten und Pastellfarben usw.

2voto

Mark Harrison Punkte 281807

Wenn du einen Farbkreis zeichnest, kannst du Komplementärfarben erhalten, indem du von der gegenüberliegenden Seite des Farbkreises wählst.

Hier finden Sie eine Seite mit verschiedenen Variationen dieser Idee und eine schöne interaktive Anwendung, um sie zu erkunden.

http://colorschemedesigner.com/

0voto

xan Punkte 7181

Sie können mehr als 256 Farben erreichen, wenn Sie an die HSL-Bicone denken (siehe wikipedia HSV/HSL-Seite ). Es sieht schon ein bisschen wie eine Kugel aus, und es würde nicht allzu viel Arbeit machen, jeden Punkt auf einer Kugel in einen Punkt auf der Oberfläche der Bicone zu übertragen. Die Farbwanderung ist die gleiche wie bei deinem Planeten. Du verpasst immer noch entsättigte Farben, einschließlich Grautöne. Sie könnten dasselbe mit einem RGB-Farbwürfel machen: Stellen Sie sich vor, Sie gehen über die Oberfläche - wählen Sie eine konstante Richtung oder bewegen Sie sich zufällig.

Wahrscheinlich einfacher ist es jedoch, Ihre ursprüngliche RGB-Idee zu ändern, um Reflexion anstelle von Wrapping zu verwenden. Wenn Sie bei (50, 100, 255) sind und Ihre Schrittweite (1, 2, 3) ist, ist Ihre nächste Farbe (51, 102, 252) und Ihre Schrittweite wird auf (1, 2, -3) angepasst.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X