语言:Python
IDE:Python.IDE
需求
做出彩虹效果
颜色空间
RGB模型:光的三原色,共同决定色相
HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相
需要将HSB模型转换为RGB模型
代码示例:
#-*- coding:utf-8 –*-from turtle import *def HSB2RGB(hues): hues = hues * 3.59 #100转成359范围 rgb=[0.0,0.0,0.0] i = int(hues/60)%6 f = hues/60 -i if i == 0: rgb[0] = 1; rgb[1] = f; rgb[2] = 0 elif i == 1: rgb[0] = 1-f; rgb[1] = 1; rgb[2] = 0 elif i == 2: rgb[0] = 0; rgb[1] = 1; rgb[2] = f elif i == 3: rgb[0] = 0; rgb[1] = 1-f; rgb[2] = 1 elif i == 4: rgb[0] = f; rgb[1] = 0; rgb[2] = 1 elif i == 5: rgb[0] = 1; rgb[1] = 0; rgb[2] = 1-f return rgbdef rainbow(): hues = 0.0 color(1,0,0) #绘制彩虹 hideturtle() speed(100) pensize(3) penup() goto(-400,-300) pendown() right(110) for i in range (100): circle(1000) right(0.13) hues = hues + 1 rgb = HSB2RGB(hues) color(rgb[0],rgb[1],rgb[2]) penup()def main(): setup(800, 600, 0, 0) bgcolor((0.8, 0.8, 1.0)) tracer(False) rainbow() #输出文字 tracer(False) goto(100,-100) pendown() color("red") tracer(True) mainloop()if __name__ == "__main__": main()