Python基础实例——绘制彩虹(turtle库的应用)

浏览: 1876

turtle模块简介:

Python中有一个简单的绘图工具,叫做海龟绘图(Turtle Graphics)

1.使用海龟绘图首先我们需要导入turtle,如下所示:

1

from turtle import * #将turtle中的所有方法导入

2.海龟绘图属性:

(1)位置
(2)方向
(3)画笔(画笔的属性,颜色、画线的宽度)

3.操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

(1)运动命令:

1 forward/fd(degree) #向前移动距离degree代表距离

2 backward/bd(degree) #向后移动距离degree代表距离

3 right(degree) #向右移动多少度

4 left(degree) #向左移动多少度

5 goto(x,y) #将画笔移动到坐标为x,y的位置

6 stamp() #复制当前图形

7 speed(speed) #画笔绘制的速度范围[0,10]整数

8 setheading/seth(angle)#方向(0度向右,90度向上,180度向左)

(2)画笔控制命令:

1. pendown() #移动时绘制图形,缺省时也为绘制

2. penup() #移动时不绘制图形

3. pensize(width) #绘制图形时的宽度

4. color(colorstring) #绘制图形时的颜色

5. fillcolor(colorstring) #绘制图形的填充颜色

6. fill(Ture)

7. fill(false)

#彩虹绘制
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 rgb

def rainbow():
hues = 0.0
color(1,0,0)
#绘制彩虹
hideturtle()
#隐藏乌龟
speed(5)
pensize(3)
penup()
goto(-650,-150)
pendown()
right(110)
for i in range (100):
circle(600)
#圆的半径600
right(0.23)
hues = hues + 1
rgb = HSB2RGB(hues)
color(rgb[0],rgb[1],rgb[2])
penup()

def main():
setup(1200, 800, 0, 0)
bgcolor((64/255, 64/255, 1))
tracer(False)
rainbow()
#输出文字
tracer(False)
goto(0,0)
pendown()
color('yellow')
write("彩虹",align="center",
font=("Script MT Bold", 80, "bold"))
tracer(True)

mainloop()

if __name__ == "__main__":
main()

推荐 2
本文由 霍开拓 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册