Colors 如何循环颜色?

Colors 如何循环颜色?,colors,Colors,我想随着时间的推移平滑地更改视图的背景色 选择两种颜色c1和c2,很容易在rgb空间中生成时间c(t)=t.c1+(1-t).c2的颜色函数,这将是两种颜色之间的渐变 然而,rgb空间是3D的,我正在寻找一种方法来平滑地枚举所有颜色。 我知道可能有几十亿种颜色,但在4x4x4位上编码RGB对我的项目来说是可以的 我的问题与编程语言的选择无关 我尝试过(伪代码/Python) 然而,这一点都不平滑,如果你明白我的意思,它就像一个“阶跃函数”(颜色将从纯绿色变为完全没有绿色,例如一点红色) 你知道怎

我想随着时间的推移平滑地更改视图的背景色

选择两种颜色c1和c2,很容易在rgb空间中生成时间c(t)=t.c1+(1-t).c2的颜色函数,这将是两种颜色之间的渐变

然而,rgb空间是3D的,我正在寻找一种方法来平滑地枚举所有颜色。 我知道可能有几十亿种颜色,但在4x4x4位上编码RGB对我的项目来说是可以的

我的问题与编程语言的选择无关

我尝试过(伪代码/Python)

然而,这一点都不平滑,如果你明白我的意思,它就像一个“阶跃函数”(颜色将从纯绿色变为完全没有绿色,例如一点红色)


你知道怎么做吗?

在这种情况下,我认为你最好使用颜色的HSV值。您可以使用相同的策略,一次只更改其中一个HSV值,以使颜色移动更流畅

编辑:

在进一步研究之后,我发现了为什么不使用HSV的论点。 这可能是解决您问题的一个好办法:

for red in xrange(16):
  for green in xrange(16):
     for blue in xrange(16):
       color = rgb(red, green, blue)