![]() |
1
1
首先,我假设你会使用
一种方法是将整个颜色值视为一个大数值,直到比较结束:
这将首先根据颜色的亮度(假设您编写了亮度比较函数)对颜色进行分组,然后根据颜色的色调进行分组。您可能想交换这些命令,而在内部它们可能更复杂。
可能是 好的 对你来说,但结果远远不是最优的。 实际上,您可能需要为此编写自己的排序函数,而且运行时间可能非常长,因为每种颜色都需要与许多相邻颜色进行比较。你越希望这个分布越理想,这就越像一个人工智能问题,每个颜色都希望尽可能远离相似的颜色。 哦,我刚才想的是,如果将所有的色调和亮度平均,然后将数组分成两半,并试图通过在数组之间交换一些颜色来平衡事物,使每个子数组的平均值尽可能接近整个数组的平均值,可能会产生好的结果。然后将这些数组分成两半并重复。我不认为你会(也可能不会)用这个得到最佳结果,但我认为这可能是相当好的。找到交换什么将是这里最大的问题。 |
![]() |
2
1
你可以试着把你的颜色从HSL颜色空间(我想你用它,因为你提到了色调和亮度)转换成CIELAB。在CIELAB颜色空间中,你可以很容易地计算出颜色的相似性,就像人类的眼睛所感知到的那样。计算出距离后,你就可以对颜色进行分类了。 |
![]() |
3
0
PMG的评论是对的。根据您所说的,没有理由不使用带有客户比较功能的快速排序。查看PMG在其评论中发布的链接以获取更多信息,并确保您的比较功能(即
|
![]() |
4
0
|
![]() |
Rewind · 同时搜索最大值/最小值的操作顺序 5 月前 |
![]() |
badbee · 使用xsl:sort时保留未排序元素的问题 6 月前 |
![]() |
josepmaria · Pandas顺序列,按对列出 9 月前 |
![]() |
BTBts · Python3文件名的字母数字排序[重复] 10 月前 |
|
Paul-ET · 对树状图应用程序发送的第一列进行排序失败 10 月前 |
![]() |
VonDerHase · 从列表中删除特定值,Python 10 月前 |
![]() |
Nico44044 · JS对数组进行排序,数组末尾为null和空值 11 月前 |