⽤python绘制樱花树
⿊夜可能漫长,但总会迎来温暖的阳光,三⽉如期⽽⾄,武⼤的樱花⼜⼀次盛开。那么今天就⼀起来看看怎样在python中画⼀棵美丽的樱花树~
说到⽤python画画,那当然就是⼩乌龟Turtle库了,为啥是turtle呢,想象⼀个⼩乌龟,在⼀个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据⼀组函数指令的控制,在这个平⾯坐标系中移动,从⽽在它爬⾏的路径上绘制了图形。
⼀、安装与引⼊
安装没有什么难度直接pip安装就可以
pip install turtle
可使⽤以下3种⽅法引⼊:
⼆、使⽤
多态现象名词解释turtle库使⽤起来也很简单,主要就是利⽤⼏个核⼼的控制代码
<(x,y):直接跳转到(x,y)点,以绘图窗⼝中⼼为原点,
turtle.fd(d):以当前⽅向,往前⾏进d像素。
turtle.bk(d):保持当前⽅向不变,往后退⾏d像素。
turtle.circle(r,angle):以r为半径圆的angle⾓度旋转。
turtle.penup():抬笔
turtle.pendown():落笔
urtle.left(angle):向左旋转angle度。
turtle.right(angle):向右旋转angle度。
⽐如绘制树⼲部分的代码可以这样写
def Tree(branch, t):
time.sleep(0.0005)
if branch > 3:
if 6 <= branch <= 12: #
if random.randint(0, 2) == 0: #随机绘制
else:
java覆盖和重写的区别t.color('lightcoral') # 树叶颜⾊
t.pensize(branch / 3)
elif branch < 6:
if random.randint(0, 1) == 0:
else:
t.pensize(branch / 2)
else:
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()
⽽写字的部分就不⽤⼀笔⼀划的去绘制,直接使⽤turtle.write()就可以在指定位置写上你需要的⽂字。
write(arg,move=false,align='left',font=('arial',8,'normal'))
#arg--将写⼊Turtle绘画屏幕的⽂字。
#align(可选)--“左(left)”、“中(center)”或“右(right)”之⼀。#font(可选)--(fontname、fontsize、fonttype)。
那么来看看最后效果吧!
完整源码:
import turtle as T
import random
import time
# 画樱花的躯⼲(60,t)
continue语句只能在循环结构中使用对吗
def Tree(branch, t):
time.sleep(0.0005)
if branch > 3:
if 8 <= branch <= 12:
if random.randint(0, 2) == 0:
else:
t.pensize(branch / 3)
elif branch < 8:
if random.randint(0, 1) == 0:whiledo循环的用法
web主流开发平台else:
t.pensize(branch / 2)
else:
python基础代码写字
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.circle(1)
t.up()
t.backward(a)
t.right(90)
t.backward(b)
# 绘图区域
t = T.Turtle()
# 画布⼤⼩
w = T.Screen()
t.hideturtle() # 隐藏画笔
w.screensize(bg='wheat') # wheat⼩麦
t.left(90)
t.up()
t.backward(150)
t.down()
# 画樱花的躯⼲
Tree(60, t)
# 掉落的花瓣
Petal(200, t)
以上就是⽤python绘制樱花树的详细内容,更多关于python绘图的资料请关注其它相关⽂章!