Non dimenticare che, anche se stai lavorando con i valori di colore LAB, i valori RGB devono essere emessi per mostrarlo su uno schermo. Ad un certo punto, deve dire ai pixel rosso, verde e blu di uno schermo cosa fare.
Guardalo in termini RGB e la causa delle bande è in realtà piuttosto semplice.
Prendi un selettore di colori e osserva i gradienti e noterai che le bande si trovano attorno ai punti in cui la natura del gradiente cambia:
- In rosso, è intorno a dove passa dall'aumentare uniformemente la R nell'RGB all'aggiunta di G per diventare gialla - intorno a # FF0000 a # FF2500
- Nel blu, è intorno a dove passa dall'aumentare uniformemente la B nell'RGB all'aggiunta di G per diventare ciano - intorno a # 0000FF a # 0025FF
E allo stesso modo con le trame inferiori, aggiungendo il giallo al bianco: sono essenzialmente tre gradienti uniti. Usando il gradiente rosso come esempio:
- è da # 000000 a # FF0000 (aumento della luminosità in termini di HSB, aumento del canale rosso in RGB)
- quindi da # FF0000 a # FFFF00 (cambiando tonalità in termini HSB, aumentando il canale verde in RGB)
- quindi da # FFFF00 a #FFFFFF (modifica della saturazione in termini di HSB, aumento del canale blu in RGB)
Quindi ci sarà sempre un join visibile, se è così che viene impostato. Come regola generale, dove l'accuratezza e la linearità sono l'obiettivo principale, è meglio mantenere un gradiente semplice, variando costantemente una caratteristica (a meno che non si desideri eseguire il bendaggio, ad esempio su alcuni tipi di scansione del cervello).
Detto questo , se sei determinato a correre attraverso lo spettro più ampio (sembra buono), esaminerei o cominciando ad aggiungere il secondo canale prima che il primo sia completo, formando una sezione ponte tra i gradienti o avendo un leggera curva a forma di S inversa alla velocità con cui viene aggiunto il secondo canale (probabilmente entrambi).
Quindi invece di:
Da 000000 a # FF0000, da 100% nero a 100% rosso
Da FF0000 a # FFFF00, da 100% rosso a 100% giallo
Da FFFF00 a #FFFFFF, da 100% giallo a 100% bianco
... potrebbe essere (solo indovinando dalla parte superiore della mia testa, sarà necessario un aggiustamento):
Da 000000 a # E90000, da 100% nero a rosso vivo
Da E90000 a # FF2500, (PONTE CORTO) da rosso vivo (scuro) a rosso vivo (leggermente arancione)
Da FF2500 a # FFE900, da rosso brillante (leggermente arancione) a giallo brillante (leggermente arancione)
Da FFE900 a # FFFF25, (PONTE CORTO) da giallo brillante (leggermente arancione) a giallo brillante (chiaro)
Da FFFF25 a #FFFFFF, da giallo brillante (chiaro) a 100% bianco
... quindi regola le curve di ogni sezione in base ai gusti :-)
Modifica: ecco una dimostrazione del suggerimento "tagliare gli angoli". Non è perfetto - è abbastanza non raffinato, solo qualcosa che ho messo insieme a occhio in pochi minuti usando lo strumento di fusione Illustrator (oggetti non piegati in basso per mostrare i punti di colore). Ogni segmento del gradiente tra ciascun punto di colore è lineare al 100%, mentre probabilmente vorrai qualcosa di più arrotondato e, di conseguenza, se osservi attentamente puoi individuare le bande.
I risultati variano naturalmente tra i monitor: sul mio monitor "buono", è fluido; sul monitor "cattivo" che utilizzo per controllare la resilienza delle immagini web (dove le bande originali non vengono visualizzate in modo molto chiaro), le arance appaiono sempre attenuate facendo apparire le api rosse e gialle più luminose dell'arancia unita, enfatizzando troppo il rosso e aree gialle - ma puoi ancora vedere che il "bordo" delle bande originali è in gran parte sparito.
Ad ogni modo, rispetto ai gradienti originali, puoi vedere chiaramente la differenza. (per quanto riguarda la matematica dietro questo - nessuna idea, non sono un matematico, ma spero che questo aiuti a identificare il problema e la soluzione)
L'altro vantaggio è che sei libero di usare il nero più chiaro> transizione di un canale in più.
O la stessa idea su un cubo di colore RGB (perdona la rozzazza, è inteso per essere dimostrativo non accurato ...):
Ciò mostra probabilmente più chiaramente cosa intendevo quando ho detto che il gradiente di esempio può essere migliorato rendendo le transizioni dai segmenti principali a segmenti angolari più lisce piuttosto che angolari.