文章目录
什么是插值
对颜色插值,实际上就是求两种颜色的线性(凸)组合
当 从 0 到 1 过渡时,颜色从 colorA 过渡到 colorB.
def interpolateColor(colorA, colorB, alpha):
return tuple(np.array(colorA)*(1-alpha) + np.array(colorB)*(alpha))
颜色渐变
测试一下,从红色到白色的渐变:
red = (1,0,0)
white = (1,1,1)
for alpha in np.linspace(0,1,10):
print(interpolateColor(red, white, alpha))
'''
(1.0, 0.0, 0.0)
(1.0, 0.1111111111111111, 0.1111111111111111)
(1.0, 0.2222222222222222, 0.2222222222222222)
(1.0, 0.3333333333333333, 0.3333333333333333)
(1.0, 0.4444444444444444, 0.4444444444444444)
(1.0, 0.5555555555555556, 0.5555555555555556)
(1.0, 0.6666666666666666, 0.6666666666666666)
(1.0, 0.7777777777777777, 0.7777777777777777)
(1.0, 0.8888888888888888, 0.8888888888888888)
(1.0, 1.0, 1.0)
'''
用于动态过程的可视化
下面来用这种插值方法来画图
red = (1,0,0)
pink = (1,0.9,0.9)
for i in range(200):
plt.plot(record[i], color=interpolateColor(pink, red, i/200))
通过颜色渐变来描述曲线的演化过程,是不是一目了然啦~