python使用Turtle库画画写名字
目录
Turtle
库是Python
语言中一个很流行的绘制图像的函数库,利用这个库会生成一个画布,在画布中有我们看不见的一个默认以中心点为原点的坐标轴,在原点会有一个初始默认朝东的画笔(箭头),一般我们把这个箭头叫做海龟,箭头的朝向就是海龟头的朝向。
这个动图展示的就是我利用Turtle库画的一个名字画,下面附上代码:
import time import turtle from random import random t = turtle t.speed(3) t.hideturtle() t.color('black') t.pensize(10) # 一 t.penup() t.goto(-110, 60) t.pendown() t.forward(100) # | t.penup() t.goto(-60, 125) t.right(90) t.pendown() t.forward(266) # 丿 t.penup() t.goto(-60, 45) t.right(45) t.pendown() t.forward(90) # 丶 t.penup() t.goto(-60, 38) t.left(90) t.pendown() t.forward(40) # 小一 t.penup() t.goto(20, 60) t.left(45) t.pendown() t.forward(90) # | t.penup() t.goto(65, 123) t.right(90) t.pendown() t.forward(123) # 大一 t.penup() t.goto(0, -5) t.left(90) t.pendown() t.forward(130) # 小一 t.penup() t.goto(20, -65) t.pendown() t.forward(90) # | t.penup() t.goto(65, -14) t.right(90) t.pendown() t.forward(120) # 大一 t.penup() t.goto(0, -135) t.left(90) t.pendown() t.forward(130) # 画圆 t.color('red') t.pensize(3) t.penup() t.goto(15, -200) t.pendown() t.circle(180) t.exitonclick()
函数
解释
hideturtle
隐藏画笔
speed
画笔速度,1-10,1最慢,10最快
color
后可传参(2个参数),不传为默认设置,第一个参数为画笔颜色,第二个参数为填充颜色
pensize
画笔粗细,越大越粗
penup
画笔拿起,之后画笔运动时不画下轨迹
pendown
默认是这个状态,画笔落下,之后画笔运动会画出轨迹
forward(num)
画笔运动,num为运动像素数,即长度
right (a)
画笔方向向右旋转a角度,顺时针旋转
left(a)
画笔方向向左旋转a角度,逆时针旋转
goto(x,y)
将画笔移动到坐标轴x,y位置,在pendowm下会画下轨迹
goto(x,y)
将画笔移动到坐标轴x,y位置,在pendowm下会画下轨迹
circle(a)
以当前点为圆心,画一个半径为a的圆
exitonclick
点击关闭,画笔运行完不再自动退出画布
下面是在论坛看到的一个大佬的画樱花树的代码,生成的结果比上面的复杂很多,但在弄懂我上面代码的情况下很容易看懂,作为进阶给大家展示下:
import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): time.sleep(0.0005) if branch > 3: if 8 <= branch <= 12: if random.randint(0, 2) == 0: t.color('snow') # 白 else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 3) elif branch < 8: if random.randint(0, 1) == 0: t.color('snow') else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 2) else: t.color('sienna') # 赭(zhě)色 t.pensize(branch / 10) # 6 t.forward(branch) a = 1.5 * random.random() t.right(20 * a) b = 1.5 * random.random() Tree(branch - 10 * b, t) t.left(40 * a) Tree(branch - 10 * b, t) t.right(20 * a) t.up() t.backward(branch) t.down() # 掉落的花瓣 def Petal(m, t): for i in range(m): a = 200 - 400 * random.random() b = 10 - 20 * random.random() t.up() t.forward(b) t.left(90) t.forward(a) t.down() t.color('lightcoral') # 淡珊瑚色 t.circle(1) t.up() t.backward(a) t.right(90) t.backward(b) # 绘图区域 t = T.Turtle() # 画布大小 w = T.Screen() t.hideturtle() # 隐藏画笔 t.getscreen().tracer(5, 0) w.screensize(bg='wheat') # wheat小麦 t.left(90) t.up() t.backward(150) t.down() t.color('sienna') # 画樱花的躯干 Tree(60, t) # 掉落的花瓣 Petal(200, t) w.exitonclick()
这个代码除了用到我上面介绍的几个函数,还用到了screen
和bgcolor
,分别是设置画布和背景色,backward
就是反向的forward
。
到此这篇关于python
利用Turtle
库画画写名字 的文章就介绍到这了,更多相关python
用Turtle
画画写名字 内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!