Je voudrais trier une liste de couleurs unidimensionnelle de sorte que les couleurs qu'un humain typique percevrait comme "similaires" les unes aux autres sont proches les unes des autres. Il est évident que c'est un problème difficile ou peut-être impossible à obtenir "parfaitement", car les couleurs sont généralement décrites en trois dimensions, mais cela ne signifie pas qu'il n'y a pas de méthodes de tri qui semblent plus naturelles que d'autres.Trier une liste de couleurs dans une dimension?
Par exemple, le tri par RVB ne fonctionne pas très bien, car il triera dans l'ordre suivant, par exemple:
(1) R = 254 G = 0 B = 0 (2) R = 254 G = 255 B = 0 (3) R = 255 G = 0 B = 0 (4) R = 255 G = 255 B = 0
Autrement dit, il alterne les couleurs rouge, jaune, rouge, jaune, avec les deux "rouges" étant essentiellement imperceptiblement différents les uns des autres, et les deux jaunes étant également imperceptiblement différents les uns des autres.
Mais le tri par HLS fonctionne beaucoup mieux, d'une manière générale, et je pense que la technologie HSL est encore meilleure que cela; avec l'un ou l'autre, les rouges seront côte à côte et les jaunes seront les uns à côté des autres.
Mais HLS/HSL a aussi quelques problèmes; les choses que les gens percevraient comme «noires» pourraient être séparées les unes des autres, tout comme les choses que les gens percevraient comme «blanches».
Encore une fois, je comprends que je dois à peu près accepter qu'il y aura des divisions comme ceci; Je me demande simplement si quelqu'un a trouvé un meilleur moyen que HLS/HSL. Et je suis conscient que "mieux" est quelque peu arbitraire; Je veux dire "plus naturel à un humain typique". Par exemple, une vague pensée que j'ai eue, mais que je n'ai pas encore essayée, est peut-être «L est la chose la plus importante si elle est très haute ou très basse», mais sinon c'est la moins importante. Quelqu'un at-il essayé cela? Cela a-t-il bien fonctionné? Qu'est-ce que vous avez spécifiquement décidé "très bas" et "très haut"? Etc. Ou est-ce que quelqu'un a trouvé autre chose qui améliorerait HSL? Je devrais également noter que je suis conscient que je peux définir une courbe remplissant l'espace à travers le cube de couleurs, et les ordonner unidimensionnellement comme ils seraient rencontrés tout en voyageant le long de cette courbe. Cela éliminerait les discontinuités perçues. Cependant, ce n'est pas vraiment ce que je veux; Je veux des groupements globaux décents à grande échelle plus que je ne veux des groupements parfaits à petite échelle.
Merci d'avance pour toute aide.
Combien de couleurs (à peu près) parlons-nous? Et avez-vous besoin d'un algorithme pour cela, ou est-ce qu'une approche basée sur une table ou un seau serait suffisante? –