Jest to więc bardziej naukowa wizualizacja niż projektowanie graficzne, ale myślę, że teoria jest taka sama. W mapach kolorów używanych do wizualizacji danych często występują pasy koloru, które wystają, gdy nie powinny. Uważam, że są formą zespołów Macha ?
Na przykład użyłem tej dwubiegunowej mapy kolorów i tworzy ona takie obrazy:
To prawie jak pierścień neonowej pomarańczy około 0,2, a podobny do niebieskiego około -0,2. Oto wykres składników RGB i obliczenie względnej luminancji w kolorze czarnym:
Poprawiłem go ręcznie, aby pozbyć się pasm i trochę mi się udało, ale tak naprawdę nie rozumiem teorii:
Jest lepiej, ale wciąż widzę w nim zespoły.
Dla innego przykładu, dla gorącej mapy kolorów, pomyślałem, że może muszę zlinearyzować wykres luminancji, aby zapobiec tworzeniu pasm, ale tak naprawdę to nie działało:
Żółte i pomarańczowe pasy nadal tam są, po prostu się poruszyły i trochę rozmazały. Tak więc nieciągłości na wykresie luminancji nie są przyczyną problemu.
Jak płynnie przechodzić przez kolory bez pasków? Czy istnieją zasady tworzenia gładkich krzywych w przestrzeni kolorów Lab lub coś takiego? ( Edycja: Ooch, znalazłem przykład tego : „Skala kolorów jest obliczana przy użyciu przestrzeni kolorów L a b *. Podąża ona równomierną rampą wzdłuż kierunku L * i podąża półkolistą ścieżką w a * -b * samolot.")
Aktualizacja: Oto wykres tej mapy kolorów w kostce RGB, pokazujący ostre kąty, o których mówi użytkownik568458:
źródło
Odpowiedzi:
Nie zapominaj, że nawet jeśli pracujesz z wartościami kolorów LAB, wartości RGB muszą być wyprowadzane, aby pokazać je na ekranie. W pewnym momencie musi powiedzieć czerwonym, zielonym i niebieskim pikselom ekranu, co ma robić.
Spójrz na to w kategoriach RGB, a przyczyna pasm jest właściwie dość prosta.
Chwyć próbnik kolorów i spójrz na gradienty, a zauważysz, że pasy znajdują się wokół punktów, w których zmienia się charakter gradientu:
Podobnie jest z dolnymi wykresami, dodającymi kolor żółty do białego: są to zasadniczo trzy gradienty połączone. Na przykładzie czerwonego gradientu:
Więc zawsze będzie widoczne połączenie, jeśli tak jest skonfigurowane. Zgodnie z ogólną zasadą, w której dokładność i liniowość są głównym celem, najlepiej jest utrzymywać prosty gradient, stale zmieniając jedną cechę (chyba że chcesz pasmowania, np. W przypadku niektórych rodzajów skanowania mózgu).
To powiedziawszy , jeśli jesteś zdeterminowany, aby przejść przez szersze spektrum (wygląda dobrze), przyjrzałbym się albo zacząć dodawać drugi kanał, zanim pierwszy zostanie ukończony, tworząc sekcję łączącą gradienty lub mając lekko odwróconą krzywą kształtu S do prędkości dodawania drugiego kanału (prawdopodobnie oba).
Więc zamiast:
000000 do # FF0000, 100% czarnego do 100% czerwonego
FF0000 do # FFFF00, 100% czerwony do 100% żółty
FFFF00 do #FFFFFF, 100% żółty do 100% białego
... może być (tylko zgaduję, że trzeba będzie wyregulować):
000000 do # E90000, 100% czarnego do jasnoczerwonego
E90000 do # FF2500, (KRÓTKI MOST) jasnoczerwony (ciemny) do jasnoczerwonego (lekko pomarańczowy)
FF2500 do # FFE900, jasnoczerwony (lekko pomarańczowy) do jasnożółtego (lekko pomarańczowy)
FFE900 do # FFFF25, (KRÓTKI MOST) jasnożółty (lekko pomarańczowy) do jasnożółty (jasny)
FFFF25 do #FFFFFF, jasnożółty (jasny) do 100% białego
... następnie dopasuj krzywe każdej sekcji do gustu :-)
Edycja: Oto przykład sugestii „skracania narożników”. To nie jest idealne - jest dość nierafinowane, po prostu coś, co zestawiłem wzrokowo w ciągu kilku minut za pomocą narzędzia do mieszania programu Illustrator (niezmieszane obiekty na dole, aby pokazać punkty kolorów). Każdy segment gradientu między punktami koloru jest w 100% liniowy, podczas gdy prawdopodobnie chcesz czegoś bardziej zaokrąglonego - w rezultacie, jeśli przyjrzysz się uważnie, możesz dostrzec pasma.
Naturalnie wyniki różnią się między monitorami: na moim „dobrym” monitorze jest płynnie; na „złym” monitorze, którego używam do sprawdzania odporności obrazów internetowych (gdzie oryginalne paski nie pokazują się bardzo wyraźnie), pomarańcze zawsze wydają się stonowane, dzięki czemu czerwone i żółte ary wydają się jaśniejsze niż łączące się pomarańcze, nadmiernie podkreślając czerwony i żółte obszary - ale nadal widać, że „krawędź” oryginalnych pasm w dużej mierze zniknęła.
Tak czy inaczej, w porównaniu z oryginalnymi gradientami, wyraźnie widać różnicę. (jeśli chodzi o matematykę stojącą za tym - nie mam pojęcia, nie jestem matematykiem, ale mam nadzieję, że to pomoże zidentyfikować problem i rozwiązanie)
Inną zaletą jest to, że możesz swobodnie korzystać z wyraźniejszego przejścia w czarny> jeden kanał.
Lub ten sam pomysł na kostce kolorów RGB (wybacz grubiaństwo, ma on być demonstracyjny, niedokładny ...):
Pokazuje to prawdopodobnie wyraźniej, co miałem na myśli, gdy powiedziałem, że przykładowy gradient można poprawić, czyniąc przejścia z segmentów głównych do segmentów do cięcia pod kątem gładkimi, a nie kątowymi.
źródło
Może to może ci pomóc, to działa dla mnie, ale nie znam ręcznego sposobu, aby to osiągnąć.
http://nomorebanding.com/
źródło