6

有没有很好的方法来迭代颜色?我知道这听起来像是一个奇怪的问题,但这是一个类比。

假设您编写了一个游戏,您可以在其中环游地球。您选择一个起点,然后定义一个重复应用的规则。例如:从您在地球上的当前位置开始,然后定义穿过您所在位置以及北极和南极的大圆。每走一步,沿着这个圆圈走 10 英里。每一步都会带你进入与前一步相似的气候(尽管有时你会因为在海洋中而湿透了)。或者每走一步走 6,000 英里。现在每一步都是一个非常不同的气候。

现在想象一个用随机颜色在屏幕上绘制元素的程序。也许您将增量设置为较低的数字,并且每种颜色都与以前的颜色非常相似。也许你把它定得很高,每一种颜色都与以前的颜色大不相同。

如果您使用 RGB 值并将 R、G 和 B 分别增加少量,您会逐渐变化,直到其中一个值换行并且您会突然发生变化。

使用 HSB 值,色调的色域是圆形的,因此没有不连续性。S 和 B 不是,您可能会遇到一系列无法​​区分的颜色,因为 S 太低以至于它们看起来都是白色的。将 S 和 B 保持在最大值是可能的,尽管它会遗漏很多颜色。

程序的每次运行只使用少量颜色(10 到 15)。我想随机选择值,以便颜色和谐地混合一次,一次它们发生冲突,一次它们都是柔和的,一次它们是饱和和柔和的混合,等等。

4

2 回答 2

2

如果你画一个色轮,你可以从色轮的另一边选择互补色。

这是一个页面,该页面具有该想法的多种变体,以及一个很好的交互式应用程序来探索它们。

http://colorschemedesigner.com/

于 2009-09-04T21:28:11.843 回答
0

通过考虑 HSL bicone,您可以做得比 256 色更好(请参阅维基百科 HSV/HSL 页面)。它看起来有点像一个球体,将球体上的每个点转换为双锥表面上的一个点并不需要太多的工作。现在彩色行走与你的星球行走相同。你仍然错过了不饱和的颜色,包括灰色。你可以用一个 RGB 颜色立方体做同样的事情:想象一下在表面上行走——选择一个恒定的方向或随机移动。

不过,可能更简单的是仅修改您原来的 RGB 想法以使用反射而不是包装。如果您在 (50, 100, 255) 并且您的步长增量是 (1, 2, 3),那么您的下一个颜色是 (51, 102, 252) 并且您的增量调整为 (1, 2, -3) .

于 2011-03-23T03:03:26.070 回答