Raccomando di usare gli spazi colore HSV o HSL, non lo spazio cromatico RGB, perché HSV e HSL sono strutturati meglio per generare colori che sembrano diversi dall'uomo. Avrai più lavoro in RGB (anche se le conversioni avanti e indietro esistono, se ne hai bisogno)
Ecco come appare HSV / HSL:
QuandosiutilizzalospaziocoloreHSVoHSL,sipuòpresumere(moltoapprossimativamente)cheladifferenzatraicomponentiH(tonalità)diduecolorisiaunabuonaapprossimazionedelladistanzapercettivatraicolori-cioèmaggioreèilcambiamentoditonalitàpiùicolorisarannodiversipergliumani.PuoiprovareasuonareconS(saturazione)eL/V(luminosità/valore),perottenerealtricolorimoltodiversi,manonsembrerannodiversiperlostessocambiamentodivalorerispettoallavariazionedellatonalità.
Asecondadelnumerodicoloridistintidicuihaibisogno,puoidividerelospazioditonalitàinquelnumerodicoloridiversi.Seadesempiohaiunintervalloditonalitàdi256valoriehaibisognodi16coloridistinti,iltuoprimocolorepotrebbeessere(0,128,128),iltuosecondo(16,128,128)ecosìvia.Hosceltoinmodounpo'arbitrarioivaloriS/Lnelmezzo,inquantodisolitosonoleggeriesaturiabbastanzadavederechiaramenteledifferenzedicolore.Questosistemaèsempliceepresupponechetunondebbasaperenullasull'adiacenzadeicolorineltuografico/mappa.
Senonsaiinanticipoquanticoloridistintihaibisognomaconosciillimitesuperiore,edividendolagammaditonalitàincoloriconquellimitesuperioreinmentecomesopra,tidàancoracoloripercettivamentediversi,quindipuoiusareilstessosistemaconillimitesuperiore.
Setu(potessi)haibisognodimolticoloridistinti,potresticomunquescappareusandomoltosimiliopersinoglistessicolori,purchénonappaianovicinoaglialtrielementidelgraficochehannoilcoloresimile.Ciòrichiedeconoscerelatuasituazionediadiacenzanelgraficochestairendendoepotrebbenonesseresempresemplice,eancheinquestocasopotrebbenonessereunabuonaideacomesottolineaDukelingneicommenti:potrebbeesserefontediconfusioneperglispettatorichesiusalostessocoloreduevoltenelgraficoperdueconcettidiversi.
Quindifinalmentenellasituazionepiùcomplessailtuograficoèabbastanzacomplessodanonavereabbastanzaspaziocoloreperassicurartidinonfinireconelementidistinticoncolorichesonotropposimiliusandoilsistemadicuisopra.Inquestocasoènecessariocreareungraficodiadiacenzadeglielementidelgraficodivisualizzazione.L'adiacenzaquièunconcettofuzzy:dovraidefinirlocorrettamenteperlatuasituazioneattuale.Adesempionelsecondoesempio,idatidel12lugliopresentanounpuntodistrozzamentoincuiognicoloreèadiacenteatuttiglialtri.Unapprocciochepuòaiutartiseriesciacostruireilgraficodiadiacenzaèilproblema colorare i grafici - ci sono librerie che possono aiutare tu - ad esempio boost :: graph in C ++ .