生成独特的颜色

Nic*_*ick 18 algorithm visualization color-space

我想在纹理中绘制一些数据:连续多个项目.它们不是按顺序创建的,它们可能都是不同的大小(想想内存堆).每个数据项都是一个小矩形,我希望能够区分它们,所以我希望它们中的每一个都有一个独特的颜色.

现在我可以使用rand()生成RGB值并希望它们都不同,但我怀疑我不会在RGB空间中获得良好的分布.有比这更好的方法吗?例如,在它们(几乎)重复之前循环使用不同颜色的好方法是什么?

颜色不必与项目中的任何数据匹配.我只是希望能够看到许多值,并看到它们是不同的,因为它们是相邻的.

我可以解决一些问题,但我认为这是一个有趣的问题.:)

Bri*_*ndy 13

使用RGB颜色模型不是获得良好颜色混合的好方法.最好使用另一种颜色模型来生成颜色,然后从该颜色模型转换为RGB.

我建议您使用HSV或HSL颜色模型,特别是要改变Hue.

如果您想要X不同的颜色值,请将它们从0改为360,步长为360除以X.