均匀分布的颜色范围取决于计数

Mik*_*ynn 3 algorithm distribution colors

我有一个传奇,我需要颜色协调,并有几乎无限的颜色范围(50-100标识符的无限.我想使用像彩虹一样的色谱,并均匀分布颜色的数量图例中的项目.例如.

我有游泳池A,B和C,并希望它们能够通过颜色区分.A是红色,B是橙色,C是绿色等.我想动态地使用从000000到FFFFFF的十六进制颜色代码计算出来.所以我的泳池会在该范围内均匀地挑选三种颜色.如果我有10个泳池,它会均匀地挑选10种颜色,依此类推.这样做的最佳算法是什么?

这将在javascript中完成,但很想在SASS中完成.

Eug*_*eck 6

我强烈建议让算法成为人类:让某人知道交易,为你选择100种颜色(首先是最令人愉悦的),使用它作为静态数组并使用索引0..N -1.

那说:常见的算法是使用PAL/NTSC颜色模型:

R=Y+V/0.88
G=Y-0.38*U-0.58*V
B=Y+U/0.49
Run Code Online (Sandbox Code Playgroud)

U/V是颜色的坐标,Y是亮度.

所以你在U/V平面上创建了一个半径为圆心的圆1,并0/0在其上标记了N个点 - 这很容易用U = cos(phi),V = sin(phi)和phi变为0..360来完成N步的度数.这给你一个N(U/V)元组的数组.

使用引人注目的Y(ca. 0.5),您可以像上面一样计算RGB值,从而产生一个N(R/G/B)元组的数组.