语言: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