Das ist also mehr wissenschaftliche Visualisierung als Grafikdesign, aber ich denke, die Theorie ist die gleiche. In Colormaps, die zur Visualisierung von Daten verwendet werden, gibt es oft Farbbänder, die hervorstechen, obwohl sie es nicht sollten. Ich glaube, sie sind eine Form von Mach-Bands ?
Zum Beispiel habe ich diese bipolare Farbkarte verwendet und sie erzeugt Bilder wie diese:
Es ist fast wie ein Neonorange-Ring um 0,2 und ein ähnlicher für Blau um -0,2. Hier ist ein Diagramm der RGB-Komponenten und eine Berechnung der relativen Leuchtdichte in Schwarz:
Ich habe es manuell optimiert, um zu versuchen, die Bänder loszuwerden, und es war einigermaßen erfolgreich, aber ich verstehe die Theorie dahinter nicht wirklich:
Es ist besser, aber ich sehe immer noch Bands darin.
Für ein weiteres Beispiel, für die heiße Farbkarte, dachte ich, ich müsste vielleicht das Luminanzdiagramm linearisieren, um Streifenbildung zu verhindern, aber es hat nicht wirklich funktioniert:
Die gelben und orangefarbenen Bänder sind noch da, sie sind nur verschoben und ein wenig verschmiert. Diskontinuitäten im Leuchtdichtediagramm sind also nicht die Ursache des Problems.
Wie kann ich ohne Streifenbildung nahtlos durch Farben wechseln? Gibt es Regeln zum Erstellen glatter Kurven durch den Lab-Farbraum oder so? ( Bearbeiten: Ooh, ich habe ein Beispiel dafür gefunden : "Die Farbskala wird mit dem Farbraum L a b * berechnet. Sie folgt einer gleichmäßigen Rampe entlang der L * -Richtung und folgt einem halbkreisförmigen Pfad in a * -b * Flugzeug.")
Update: Hier ist ein Diagramm dieser Farbkarte im RGB-Würfel, das die scharfen Winkel zeigt, von denen user568458 spricht:
Vergessen Sie nicht, dass selbst wenn Sie mit LAB-Farbwerten arbeiten, RGB-Werte ausgegeben werden müssen, um sie auf einem Bildschirm anzuzeigen. Irgendwann muss es den roten, grünen und blauen Pixeln eines Bildschirms sagen, was sie tun sollen.
Betrachten Sie es in RGB-Begriffen, und die Ursache der Bänder ist eigentlich ziemlich einfach.
Nehmen Sie einen Farbwähler und sehen Sie sich die Farbverläufe an, und Sie werden feststellen, dass sich die Bänder um die Punkte befinden, an denen sich die Art des Farbverlaufs ändert:
Und ebenso mit den unteren Diagrammen, die Gelb zu Weiß hinzufügen: Sie sind im Wesentlichen drei Farbverläufe, die miteinander verbunden sind. Am Beispiel des roten Farbverlaufs:
Es wird also immer einen sichtbaren Join geben, wenn es so eingerichtet ist. Wenn Genauigkeit und Linearität das Hauptziel sind, ist es in der Regel am besten, einen Gradienten einfach zu halten und ein Merkmal ständig zu variieren (es sei denn, Sie möchten Streifenbildung, z. B. bei einigen Arten von Gehirnscans).
Wenn Sie jedoch entschlossen sind, das breitere Spektrum zu durchlaufen (es sieht gut aus), würde ich entweder damit beginnen, den zweiten Kanal hinzuzufügen, bevor der erste vollständig ist, einen Überbrückungsabschnitt zwischen den Farbverläufen bilden oder einen haben leichte umgekehrte S-förmige Kurve zu der Rate, mit der der zweite Kanal hinzugefügt wird (wahrscheinlich beide).
Also statt:
... es könnte sein (nur Vermutungen aus dem Kopf, muss angepasst werden):
...dann die Kurven der einzelnen Abschnitte nach Geschmack anpassen :-)
Bearbeiten: Hier ist eine Demonstration des Vorschlags zum Abschneiden der Ecken. Es ist nicht perfekt – es ist ziemlich unraffiniert, nur etwas, das ich mit dem Illustrator-Mischwerkzeug in wenigen Minuten nach Augenmaß zusammengefügt habe (nicht gemischte Objekte unten, um die Farbpunkte anzuzeigen). Jedes Segment des Farbverlaufs zwischen jedem Farbpunkt ist zu 100 % linear, während Sie wahrscheinlich etwas Runderes wünschen würden - und als Ergebnis können Sie bei genauem Hinsehen Bänder erkennen.
Die Ergebnisse variieren natürlich zwischen den Monitoren: Auf meinem "guten" Monitor ist es glatt; Auf dem "schlechten" Monitor, den ich zum Überprüfen der Widerstandsfähigkeit von Webbildern verwende (wo die ursprünglichen Bänder nicht sehr deutlich zu sehen sind), erscheinen Orangen immer gedämpft, wodurch die roten und gelben Bereiche heller erscheinen als das verbindende Orange, wodurch das Rot überbetont wird und gelbe Bereiche - aber Sie können immer noch sehen, dass der "Rand" der ursprünglichen Bänder weitgehend verschwunden ist.
In jedem Fall können Sie im Vergleich zu den ursprünglichen Farbverläufen den Unterschied deutlich erkennen. (Was die Mathematik dahinter betrifft - keine Ahnung, ich bin kein Mathematiker, aber hoffentlich hilft dies, das Problem und die Lösung zu identifizieren)
Der andere Vorteil ist, dass Sie das klarere Schwarz > einen Kanalübergang mehr verwenden können.
Oder die gleiche Idee auf einem RGB-Farbwürfel (verzeihen Sie die Grobheit, es soll demonstrativ nicht genau sein ...):
Dies zeigt wahrscheinlich deutlicher, was ich meinte, als ich sagte, dass der Beispielverlauf verbessert werden kann, indem die Übergänge von Hauptsegmenten zu Segmenten zum Schneiden von Ecken glatt und nicht eckig gemacht werden.
hot
die abgerundete Ecken verwendet: gist.github.com/endolith/74275dc8fa2bb9a78266 besser, aber nicht großartig. Das Erstellen glatter Kurven (mit glatten Bogenlängenfunktionen?) Im Farbraum
L a b ist meiner Meinung nach am bestenVielleicht könnte Ihnen das helfen, bei mir funktioniert es, aber ich kenne keinen manuellen Weg, dies zu erreichen.
Horatio
user56reinstatemonica8