我想对一维颜色列表进行排序,以便典型人类彼此感知"相似"的颜色彼此接近.
显然,要获得"完美"是一个困难或可能不可能的问题,因为颜色通常用三维描述,但这并不意味着没有一些分类方法看起来明显比其他方法更自然.
例如,按RGB排序不能很好地工作,因为它将按以下顺序排序,例如:
(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
也就是说,它将交替红色,黄色,红色,黄色这些颜色,其中两个"红色"基本上彼此不可思议地不同,并且两个黄色也彼此不可思议地不同.
但一般来说,HLS排序效果要好得多,我认为HSL甚至更好; 与其中之一,红色将彼此相邻,黄色将彼此相邻.
但是HLS/HSL也存在一些问题; 人们会认为是"黑色"的东西可能会彼此分开很远,人们会认为是"白色"的东西也是如此.
再一次,我明白我几乎不得不承认会有这样的分裂; 我只是想知道是否有人找到了比HLS/HSL更好的方法.我知道"更好"有点武断; 我的意思是"对一个典型的人来说更自然".
例如,我曾经有过一个模糊的想法,但还没有尝试过,或许"L是最重要的,如果它非常高或非常低",但除此之外它是最不重要的.有没人试过这个?它运作良好吗?具体到底你决定"非常低"和"非常高"是什么意思?等等.或者有没有人发现任何可以改善HSL的东西?
我还应该注意到,我知道我可以通过颜色立方体定义空间填充曲线,并按照沿着该曲线行进时遇到的一维顺序对它们进行排序.这将消除感知到的不连续性.但是,这不是我想要的; 我想要比我想完美的小规模分组更好的整体大规模分组.
在此先感谢您的帮助.