Wie kann man bei einer gegebenen Zahl so viele Farben finden, die gut unterscheidbar sind?

Ich interessiere mich für eine Methode, um ngut unterscheidbare Farben zu erhalten, bei denen nnur eine bestimmte Zahl steht. Der Zweck ist, dass es algorithmisch implementiert wird.

Ich habe andere Fragen zu diesem Thema gelesen ( this , this , this und this ), aber keine davon bietet einen in sich geschlossenen Weg, wie die Farben erzeugt werden. (Sie sagen im Allgemeinen: "Gehen Sie zu dieser Website und geben Sie sie ndort als Eingabe ein.")

Ich weiß auch, dass ich die Farbtöne gleichmäßig verteilen kann, aber dann:

  1. Ein gutes Gleichgewicht zwischen der Anzahl verschiedener Farbtöne und der Anzahl verschiedener Sättigungen und Helligkeiten ist notwendig (und ich weiß nicht, wie ich es gut machen soll).

  2. Die gleiche Entfernung im Farbton bedeutet nicht die gleiche Entfernung für einen Menschen:

    Geben Sie hier die Bildbeschreibung ein

    Im Beispiel ist die linke sicherlich weniger erkennbar als die rechte, aber die Farben sind nur einige RGB-Permutationen.

1: Finden Sie die maximale Anzahl einzigartiger Farben, die durch das System bestimmt wird, das Sie verwenden, um sie darzustellen. 2: Bestimmen Sie den minimalen Unterschied zwischen 2 Farben, den ein "gesunder Mensch" unterscheiden kann. 3: Teilen Sie die maximale Anzahl von Farben durch diesen Abstand. << das (nennen wir es x) ist die größte akzeptable Eingabe des Benutzers. 4: RNG eine Startfarbe. 5: Teile x durch n vom Benutzer (um y zu erhalten). 6: füge n mal y hinzu, um die Farbe zu starten. 7: Ergebnisfarben anzeigen.
Sobald ich weiß, wie man die Farben generiert (und Sie können mir den Weg mit Zeichnungen in einem Farbraum oder was auch immer zeigen), werde ich in der Lage sein, daraus einen echten Algorithmus zu machen. Das Problem liegt in der Herstellung unterscheidbarer Farben, nicht in der Erstellung eines Computerprogramms.
Aufgrund der Bearbeitung wieder geöffnet. Ich habe die Kommentare gelöscht, Sie können die Unterhaltung gerne im Chat fortsetzen .
Eine hervorragende Antwort auf diese Frage wurde kürzlich von Sam Hocevar auf der Seite gamedev.SE veröffentlicht.
@IlmariKaronen Diese Antwort (im Grunde gleichmäßig verteilte Punkte auf einem Farbrad) ist ein guter Anfang, aber wenn Unterscheidbarkeit und eine große Anzahl von Farben Ihre Hauptanliegen sind, erreichen Sie einen Punkt, an dem es besser ist, eine Reihe mit höherer und niedrigerer Helligkeit hinzuzufügen und/oder niedriger in der Sättigung als das Hinzufügen von mehr Leerzeichen auf dem Farbrad. Auch viele gute Kommentare.
kann sich eine gute Nicht-Code-/Mathematik-Antwort vorstellen wie „Hier ist eine kurze Erklärung von HSL mit einem 3D-Diamantdiagramm. Beachten Sie, wie Sie mehr Farbtonunterteilungen in Richtung der äußeren Mitte des HSL-Diamanten verwenden können. Hier ist eine kurze Erklärung der relativen Leuchtdichte, und Anmerkung zu Kombinationen von Farbenblindheit. Nehmen Sie also X-Teilungen um die 360 ​​Grad des Farbtons, dann Xn-mal um 1 Schritt nach oben und unten in Sättigung und Helligkeit und wiederholen Sie Y-mal - Anpassung an die relative Leuchtdichte und um schlechte Kontraste für Farbenblindheit zu vermeiden "

Antworten (1)

Wenn ich deine Frage gut verstehe, solltest du dir unbedingt IWantHue unter http://tools.medialab.sciences-po.fr/iwanthue/ anschauen. Dort gibst du einfach (wie du sagst) eine Nummer ein und es generiert automatisch Farben, die gut spielen zusammen. Aber sie haben auch eine Theorie zu diesem Thema. Viel Glück...

Hallo Lim, willkommen bei GD. Das sieht nach einer tollen Website aus, vielen Dank für den Vorschlag!