上图是使用turtle库绘制的彩虹。程序的关键点是将画笔的颜色渐变,再通过不断微小的角度转换绘制成彩虹
计算机中的颜色空间模型是典型的RGB模型,R,G,B分别对应光的三原色,色相是由RGB三个参数共同决定的。
那么如果想通过一个参数来改变色相,应该使用HSV颜色模型。HSV对于颜色空间的描述更贴近人类感知,HSV颜色模型分别由三个向量H(色相),S(饱和度),V(明度) 所组成,因此可以通过H的渐变而得到对应RGB颜色的渐变值给予画笔,从而简单的达到绘制彩虹的目的
下面给出HSV转换为RGB的数学公式(源自http://blog.csdn.net/jiangxinyu/article/details/8000999)
那么有了转换公式,可以将其实现为python代码: