gpt4 book ai didi

algorithm - 根据计数均匀分布的颜色范围

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:42 26 4
gpt4 key购买 nike

我有一个传说,我需要颜色协调并且有几乎无限的颜色范围(就 50-100 个标识符而言是无限的。我想像彩虹一样使用色谱并均匀分布来自图例中的项目数。例如。

我有 A、B 和 C 池,并希望通过颜色区分它们。 A 是红色,B 是橙色,C 是绿色,等等。我想使用从 000000 到 FFFFFF 的十六进制颜色代码动态地计算出这一点。所以我的游泳池会平均选择该范围内的三种颜色。如果我有 10 个池,它会平均选择 10 种颜色,依此类推。执行此操作的最佳算法是什么?

这将在 javascript 中完成,但希望在 SASS 中完成。

最佳答案

我强烈建议让算法成为人类:让懂行的人为您选择 100 种颜色(最赏心悦目的优先),将其用作静态数组并仅使用索引 0 ..N-1.

也就是说:一种常见的算法是使用 PAL/NTSC 颜色模型:

R=Y+V/0.88
G=Y-0.38*U-0.58*V
B=Y+U/0.49

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

因此,您在 U/V 平面中创建一个半径为 1 且中心位于 0/0 的圆,并在其上标记 N 个点 - 这很容易完成U=cos(phi)、V=sin(phi) 和 phi 在 N 步中移动 0..360 度。这将为您提供一个包含 N (U/V) 个元组的数组。

使用令人赏心悦目的 Y(大约 0.5),您可以像上面那样计算 RGB 值,从而得到一个包含 N (R/G/B) 个元组的数组。

关于algorithm - 根据计数均匀分布的颜色范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com