Zahlenwerte farblich darstellen?
-
hi,
ich hab'n haufen werte (theoretisch von 0...0xffffffff, kann sie aber ruhig in den bereich der sichtbaren farbwerte runterteilen). frage: wie bekommt man's am besten hin, dass zwischen zwei benachbarten werten, die sich nur um 1 unterscheiden können, noch ein unterschied sichtbar ist (idealerweise wie so'n farbspektrum bild z.b.). ach ja, wieviele sichtbare farbunterschiede gibts auf 'nem computer überhaupt(den unterschied zwischen rgb(100,200,10) und rgb(100,200,11) z.b. sieht man ja nicht)?
danke im vorraus, euer -->
-
Kannst ja mal schauen ab wann du eine neue Farbe erkennst. Probiers mit den Hex-Farben die im Internet gebräuchlich sind und erstell eine kleine Homepage, eine Tabelle bei der die Hintergrundfarben sich immer um eine Hex-Stelle unterscheiden.
Ansonsten musst du den Bereich wohl öfters verwenden. D.h. + 1 bei den Zahlen bedeutet gleich die nächstsichtbare Farbe. Dafür hast du alle + 100 eine Überschneidung...
MfG SideWinder
-
+fricky schrieb:
ach ja, wieviele sichtbare farbunterschiede gibts auf 'nem computer überhaupt(den unterschied zwischen rgb(100,200,10) und rgb(100,200,11) z.b. sieht man ja nicht)?
Das hängt wohl nicht zuletzt vom Betrachter ab, nicht wahr?
Wie wärs mit einer Noise-Funktion, die für einen beliebigen Wert einen pseudo-zufälligen anderen liefert? Stichwort Perlin Noise?
-
vielen dank für die bisherigen vorschläge,
SideWinder schrieb:
Ansonsten musst du den Bereich wohl öfters verwenden....Dafür hast du alle + 100 eine Überschneidung...
das will ich ja gerade vermeiden. pro wert soll's nur eine farbe werden.
Wie wärs mit einer Noise-Funktion, die für einen beliebigen Wert einen pseudo-zufälligen anderen liefert? Stichwort Perlin Noise?
kriegt man damit schicke farbverläufe hin?
noch jemand ne idee? wie werden eigentlich die farben für diese bunten apfelmännchen-bilder berechnet?
-
Pro Wert eine Farbe bedeutet viele Farben - auch nicht mehr unterscheidbare. Wenn du willst, dass zusätzlich nahe nebeneinanderliegende Zahlen auch nahenebeneinanderliegende Farben haben (du sprichst von Verläufen) bleibt dir imho nur noch ein Schema in dem sich Verläufe zwar wiederholen, aber niemals zwei konkrete Farben sich wiederholen.
Wenn du nicht einmal willst, dass sich ein Rot-Verlauf wiederholt, dann geht das nicht. Du kannst nicht 4 Milliarden Zahlen auf 4 Milliarden unterscheidbare Farben mappen, da das Auge soviele Farben nicht unterscheiden kann...
MfG SideWinder
-
Auf 24-bit Farbwerte kannst du - egal was du tust - keine 32-bit-Zahlen eindeutig abbilden
Abgesehen davon, dass es der Benutzer eh nicht merkt.
Aber mal abgesehen davon, zwischen zwei einzelnen Pixeln merkt man einen geringen Farbunterschied kaum. Wenn zwei etwas größere Farbareale aneinander stoßen wird es schon etwas leichter. Pickt man aus einem Farbverlauf zwei benachbarte Farben raus und stellt sie nebeneinander dar wird man auch kaum einen Unterschied merken, trotzdem kann niemand leugnen, dass ein Farbverlauf verschiedene Farben hat. Kaum ein Mensch wird außerdem auf einem Farbverlauf, der sich wiederholt, auf den Pixel genau die zwei Stellen finden, an denen identische Farben dargestellt werden.
Abschließend: Wenn du willst, dass man einen Unterschied von +/-1 verlässlich erkennen kann, verlass dich nicht auf Farben. Farben sind so ziemlich das relativste, was Monitore und die menschliche Wahrnehmung zu bieten habenDie Apfelmännchen funktionieren meines Wissens mit einer Farbpalette - man kann die Palette bei manchen Programmen auch wechseln. Aber hier siehst du auch die kleinsten Wertunterschiede nicht.
-
geloescht schrieb:
Auf 24-bit Farbwerte kannst du - egal was du tust - keine 32-bit-Zahlen eindeutig abbilden Abgesehen davon, dass es der Benutzer eh nicht merkt.
das ist klar, deshalb muss ich die werte auch anpassen. wenn ich z.b. nur 256 farben verwenden dürfte, dann müsste ich alles (in abhängigkeit vom grössten wert) nach 0...255 runterteilen. feinheiten gehen dabei verloren, aber das liesse sich nicht verhindern. mir gings darum, möglichst viele, mit blossem auge unterscheidbare farben zu haben, damit möglichst viele unterschiedliche werte farblich sichtbar sind.
geloescht schrieb:
Wenn du willst, dass man einen Unterschied von +/-1 verlässlich erkennen kann, verlass dich nicht auf Farben. Farben sind so ziemlich das relativste, was Monitore und die menschliche Wahrnehmung zu bieten haben
ok, ein unterschied von 1 muss nur dann sichbar sein, wenn alle werte dicht beieinander liegen. aber das ergibt sich automatisch, wenn ich durch verschieben und hochmultiplizieren die werte auf meinem 'farbgradienten' am besten anordne.
btw, meine palette (zur zeit) ist ein farbverlauf bestehend aus 1536 farben. das scheint erstmal zu funzen, aber ich muss mir mal farbräume usw. anschauen. davon hab' ich nämlich absolut keine ahnung.
-
Ich liefere gerade die Cores für'n Analysetool und der, der die visuelle Ausgabe macht, fährt auf der QtOpenGl- Schiene (mingw).
Bisher war lt. seiner Aussage das heftigste, in dem Wust einfach nur die passende Visualisierung zu finden, im Prinzip gäbe es fast nichts, was vorstellbar, aber einfach nicht zu finden wäre.
-
pointercrash() schrieb:
...und der, der die visuelle Ausgabe macht, fährt auf der QtOpenGl- Schiene (mingw).
klar, pc-progger schwelgen im luxus und können immer aus dem vollen schöpfen, was das angeht. mein 'grafiktreiber' kann nur linien, punkte, flächen und ascii-zeichen malen, dafür aber mit 16.7 millionen farben. (das macht alles ein kleiner FPGA, wobei das display, wie ich glaube, sowieso nur 5 der 8 bits pro farbkomponente verkraftet). aber recht schnell isses, da könnte man bestimmt 'nen ego-shooter der 90er jahre drauf spielen.
-
4 ist rot und 3 mehr blau
-
+fricky schrieb:
klar, pc-progger schwelgen im luxus und können immer aus dem vollen schöpfen, was das angeht. mein 'grafiktreiber' kann nur linien, punkte, flächen und ascii-zeichen malen, dafür aber mit 16.7 millionen farben. (das macht alles ein kleiner FPGA, ...
Ah, sowas wie das Goldelux- GFX?
Allgemein suchst Du vermutlich nach einer adaptiven Compander- Funktion, der Dir kleine Werte auseinanderzieht und im großen Zahlenbereich die Werte staucht. Statisch täte das z.B. eine loarithmische Darstellung, adaptive mußte im Web suchen.
Bewährt haben sich bei uns spektrale Darstellungen, die kapiert eigentlich jeder, die Funktionen zur Erzeugung der RGB- Werte kann man rausgoogeln. Bei einer Deltadarstellung haben wir davon abweichend Komplementärfarben zur Verdeutlichung großer Wertschwankungen verwendet, war aber nicht der ganz große Bringer.Aber so in dem Dunstkreis mal ein paar Suchmaschinen anschmeißen, wirst schon was finden