<分区>
这是我伪解决了很多次但从未完全找到解决方案的问题。
问题是想出一种方法来生成 N
颜色,这些颜色在 N
是参数的情况下尽可能可区分。
<分区>
这是我伪解决了很多次但从未完全找到解决方案的问题。
问题是想出一种方法来生成 N
颜色,这些颜色在 N
是参数的情况下尽可能可区分。
最佳答案
我的第一个想法是“如何在空间中生成 N 个向量,使彼此之间的距离最大化。”
您可以看到 RGB(或您使用的构成颜色空间基础的任何其他比例)只是向量。看看Random Point Picking .一旦你有了一组最大距离的向量,你可以将它们保存在哈希表或其他东西中以备后用,只需对它们执行随机旋转以获得你想要的彼此最大距离的所有颜色!
这个问题想多了,最好把颜色按线性方式映射,可能是(0,0,0) → (255,255,255) 字典序,然后均匀分布。
我真的不知道这会有多好,但应该是因为,让我们说:
n = 10
我们知道我们有 16777216 种颜色 (256^3)。
我们可以使用Buckles Algorithm 515找到字典索引的颜色。 .您可能必须编辑算法以避免溢出,并可能添加一些小的速度改进。
关于algorithm - 创建色轮的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/180/