有没有很好的方法来迭代颜色?我知道这听起来像是一个奇怪的问题,但这是一个类比。
假设您编写了一个游戏,您可以在其中环游地球。您选择一个起点,然后定义一个重复应用的规则。例如:从您在地球上的当前位置开始,然后定义穿过您所在位置以及北极和南极的大圆。每走一步,沿着这个圆圈走 10 英里。每一步都会带你进入与前一步相似的气候(尽管有时你会因为在海洋中而湿透了)。或者每走一步走 6,000 英里。现在每一步都是一个非常不同的气候。
现在想象一个用随机颜色在屏幕上绘制元素的程序。也许您将增量设置为较低的数字,并且每种颜色都与以前的颜色非常相似。也许你把它定得很高,每一种颜色都与以前的颜色大不相同。
如果您使用 RGB 值并将 R、G 和 B 分别增加少量,您会逐渐变化,直到其中一个值换行并且您会突然发生变化。
使用 HSB 值,色调的色域是圆形的,因此没有不连续性。S 和 B 不是,您可能会遇到一系列无法区分的颜色,因为 S 太低以至于它们看起来都是白色的。将 S 和 B 保持在最大值是可能的,尽管它会遗漏很多颜色。
程序的每次运行只使用少量颜色(10 到 15)。我想随机选择值,以便颜色和谐地混合一次,一次它们发生冲突,一次它们都是柔和的,一次它们是饱和和柔和的混合,等等。