2009-09-04 15 views
6

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

Angenommen, Sie schreiben ein Spiel, in dem Sie um die Erde reisen. Sie wählen einen Startpunkt und definieren dann eine Regel, die Sie wiederholt anwenden. Zum Beispiel: Beginnen Sie an Ihrem aktuellen Standort auf der Erde und definieren Sie dann den großen Kreis, der durch Ihren Standort und den Nord- und Südpol verläuft. Fahren Sie für jeden Schritt 10 Meilen entlang dieses Kreises. Jeder Schritt bringt Sie zu einem ähnlichen Klima wie zuvor (obwohl Sie manchmal furchtbar nass sind, weil Sie im Meer sind). Oder reise 6.000 Meilen für jeden Schritt. Jetzt ist jeder Schritt ein ganz anderes Klima.

Stellen Sie sich nun ein Programm vor, das Elemente mit zufälligen Farben auf dem Bildschirm zeichnet. Vielleicht setzen Sie das Inkrement auf eine niedrige Zahl, und jede Farbe ist der vorherigen sehr ähnlich. Vielleicht stellst du es hoch, und jede Farbe ist sehr verschieden von der vorherigen.

Wenn Sie RGB-Werte verwenden und die R-, G- und B-Werte jeweils um einen kleinen Betrag erhöhen, werden schrittweise Änderungen vorgenommen, bis einer der Werte umbrochen wird und Sie eine plötzliche Änderung erhalten.

Bei HSB-Werten ist die Farbskala von Hues kreisförmig, daher gibt es keine Diskontinuität. S und B sind nicht, und Sie können in eine Strecke von nicht unterscheidbaren Farben laufen, weil S so niedrig ist, dass sie alle weiß aussehen. S und B maximal zu halten ist eine Möglichkeit, obwohl es viele Farben auslässt.

Jeder Programmlauf verwendet nur eine kleine Anzahl von Farben (10 bis 15). Ich möchte Werte zufällig auswählen, damit die Farben harmonisch ineinander übergehen, einmal zusammenstoßen, einmal Pastellfarben, mal gesättigt und pastell, etc.

+0

Eine andere Art, dies zu denken, ist "Radfahren durch die Farben". Wo H, S und B jeweils 8 Bits sind, behalte S und B bei 256 und erhöhe H um 1 oder 11 oder 61. Aber dies wird nur 256 Farben erhalten. Sind 256 Farben alles, was es auf der Welt gibt? Oder gibt es einige Farben mit anderen Werten von S und B, die unterschiedlich und interessant genug sind, um sie zu enthalten? Wenn ja, welche sind sie, und wie radelst du durch sie hindurch, während du die Millionen auslässt, die genauso aussehen wie weiß oder schwarz? –

Antwort

2

Wenn Sie eine zeichnen Farbrad, können Sie Komplementärfarben durch Auswahl von der gegenüberliegenden Seite des Farbrads erhalten.

Hier ist eine Seite, die verschiedene Varianten dieser Idee hat, und eine nette interaktive Anwendung, um sie zu erkunden.

http://colorschemedesigner.com/

0

Sie können Gedanken über die HSL bicone besser als 256 Farben tun (siehe wikipedia HSV/HSL page). Es sieht schon ein bisschen wie eine Kugel aus und es würde nicht zu viel Arbeit erfordern, jeden Punkt einer Kugel auf einen Punkt auf der Oberfläche des Doppelkegels zu übertragen. Jetzt ist die Farbe zu Fuß die gleiche wie Ihr Planet zu Fuß. Sie vermissen immer noch entsättigte Farben, einschließlich Grautöne. Sie könnten das Gleiche mit einem RGB-Farbwürfel tun: Stellen Sie sich vor, Sie gehen die Oberfläche entlang - wählen Sie eine konstante Richtung oder bewegen Sie sich nach dem Zufallsprinzip.

Wahrscheinlich einfacher ist jedoch, nur Ihre ursprüngliche RGB-Idee zu ändern, um Reflektion anstelle von Wrapping zu verwenden. Wenn du bei (50, 100, 255) bist und dein Schritt-Inkrement (1, 2, 3) ist, ist deine nächste Farbe (51, 102, 252) und dein Inkrement wird auf (1, 2, -3) eingestellt .