语言:Python
IDE:Python.IDE
需求
做出彩虹效果
颜色空间
RGB模型:光的三原色,共同决定色相
HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相
需要将HSB模型转换为RGB模型
代码示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#-*- coding:utf-8 –*-
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 rgb
def 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" )
write( "服务器之家" ,align = "center" ,
font = ( "Script MT Bold" , 80 , "bold" ))
tracer( True )
mainloop()
if __name__ = = "__main__" :
main()
|
效果展示:
总结
起初在图片上添加中文“服务器之家”的时候,由于小编使用的是Python2.x,还发生了乱码,解决方法很简单,在代码前面添加一句
#-*- coding:utf-8 –*-
更详细办法参考:python中文乱码不着急,先看懂字节和字符
以上就是本文关于Python利用turtle库绘制彩虹代码示例的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/yangxing2/article/details/78637937