# 图一:
from turtle import *
from random import *
from math import *def tree(n, l):pd() # 下笔# 阴影效果t = cos(radians(heading() + 45)) / 8 + 0.25pencolor(t, t, t)pensize(n / 4)forward(l) # 画树枝if n > 0:b = random() * 15 + 10 # 右分支偏转角度c = random() * 15 + 10 # 左分支偏转角度d = l * (random() * 0.35 + 0.6) # 下一个分支的长度# 右转一定角度,画右分支right(b)tree(n - 1, d)# 左转一定角度,画左分支left(b + c)tree(n - 1, d)# 转回来right(c)else:# 画叶子right(90)n = cos(radians(heading() - 45)) / 4 + 0.5pencolor(n, n, n)circle(2)left(90)pu()backward(l)# 退回bgcolor(0.5, 0.5, 0.5) # 背景色
ht() # 隐藏turtle
speed(0) # 速度,1-10渐进,0最快
tracer(0, 0)
left(90) # 左转90度
pu() # 抬笔
backward(300) # 后退300
tree(13, 100) # 递归7层
done()

绘图如下:

# 图二:
from turtle import *
from random import *
from math import *def tree(n, l):pd() # 下笔# 阴影效果t = cos(radians(heading() + 45)) / 8 + 0.25pencolor(t, t, t)pensize(n / 3)forward(l) # 画树枝if n > 0:b = random() * 15 + 10 # 右分支偏转角度c = random() * 15 + 10 # 左分支偏转角度d = l * (random() * 0.25 + 0.7) # 下一个分支的长度# 右转一定角度,画右分支right(b)tree(n - 1, d)# 左转一定角度,画左分支left(b + c)tree(n - 1, d)# 转回来right(c)else:# 画叶子right(90)n = cos(radians(heading() - 45)) / 4 + 0.5pencolor(n, n*0.8, n*0.8)circle(3)left(90)# 添加0.3倍的飘落叶子if(random() > 0.7):pu()# 飘落t = heading()an = -40 + random()*40setheading(an)dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)forward(dis)setheading(t)# 画叶子pd()right(90)n = cos(radians(heading() - 45)) / 4 + 0.5pencolor(n*0.5+0.5, 0.4+n*0.4, 0.4+n*0.4)circle(2)left(90)pu()#返回t = heading()setheading(an)backward(dis)setheading(t)pu()backward(l)# 退回bgcolor(0.5, 0.5, 0.5) # 背景色
ht() # 隐藏turtle
speed(0) # 速度,1-10渐进,0最快
tracer(0, 0)
pu() # 抬笔
backward(100)
left(90) # 左转90度
pu() # 抬笔
backward(300) # 后退300
tree(12, 100) # 递归7层
done()

绘图如下:

# 图三:
import turtle
import random
from turtle import *
from time import sleept = turtle.Turtle()
w = turtle.Screen()def tree(branchLen, t):if branchLen > 3:if 8 <= branchLen <= 12:if random.randint(0, 2) == 0:t.color('snow')else:t.color('lightcoral')t.pensize(branchLen / 3)elif branchLen < 8:if random.randint(0, 1) == 0:t.color('snow')else:t.color('lightcoral')t.pensize(branchLen / 2)else:t.color('sienna')t.pensize(branchLen / 10)t.forward(branchLen)a = 1.5 * random.random()t.right(20*a)b = 1.5 * random.random()tree(branchLen-10*b, t)t.left(40*a)tree(branchLen-10*b, t)t.right(20*a)t.up()t.backward(branchLen)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)def main():t = turtle.Turtle()myWin = turtle.Screen()getscreen().tracer(5, 0)turtle.screensize(bg='wheat')t.left(90)t.up()t.backward(150)t.down()t.color('sienna')tree(60, t)petal(100, t)myWin.exitonclick()main()

绘图如下:

注:

本文借鉴:

大家用Python-turtle库作图画出过哪些漂亮的树哇 ?

用Python-turtle库作图可以画出哪些漂亮的树?相关推荐

  1. Python : Turtle库--3.18画美国国旗

    p = input('请输入国旗高度') # 国旗尺寸 p = float§ a = 1.9 # 一些重要数值 b = 1.0 c = 1.9*2/5 d = 7/13 e = c/12 f = d/ ...

  2. 用python的turtle库给你画一个头像(猪头)

    用python的turtle库给你画一个头像 引 使用到的海龟绘图命令 源代码 画布和画笔设置 画脸盘子 取名字 画眼睛 画鼻子 画嘴巴 画耳朵 画腮红 小白感想 献上完整源代码 引 小白练习pyth ...

  3. 用Python Turtle库画一个萌化的蜘蛛侠

    你是从什么时候开始喜欢上漫威电影的?美国队长,钢铁侠,雷神? 我先入坑的是因为看了蜘蛛侠,小时候看完就幻想着什么时候自己也能成为一个英雄,我觉得第一代蜘蛛侠刻画得是最好的,也是给我印象最深刻的一代蜘蛛 ...

  4. python random库画多彩蟒蛇,Python Turtle库绘制蟒蛇

    使用Python Turtle库来绘制蟒蛇 import turtle引入了海龟绘图体系 使用setup函数,设定了一个宽650像素和高350像素的窗体,其位置左上角坐标是200,200 说明位置在距 ...

  5. python turtle库画七彩蟒蛇_Python Turtle库绘制蟒蛇

    使用Python Turtle库来绘制蟒蛇 import turtle引入了海龟绘图体系 使用setup函数,设定了一个宽650像素和高350像素的窗体,其位置左上角坐标是200,200 说明位置在距 ...

  6. python画史迪仔_Python turtle画图 使用python turtle库实现了动漫人物史迪仔的绘制 - 下载 - 搜珍网...

    使用python turtle库实现了动漫人物史迪仔的绘制,画图过程尽量细分将每一个拐角都反复调整角度,直到合适为止,大概耗费了五六个小时的时间绘制成功(Using the python turtle ...

  7. python中turtle怎么确定坐标_关于Python turtle库使用时坐标的确定方法

    关于Python turtle库使用时坐标的确定方法 想画一个比较复杂的图像,而且还想用turtle画,最让人想退却的是无规律的笔势和繁多的坐标,但既然没有按奈住冲动的心,那我告诉你一个比较笨的方法吧 ...

  8. python turtle绘图如何一次性画完_只要十分钟,python绘图神器turtle了解一下?

    python的强大在于它有许多的强大的库,turtle就是其中之一. 利用turtle,你可以进行交互式的绘画,作为一个艺术白痴,想要画一幅画可能很困难,但是利用python的turtle库,只需要几 ...

  9. Python turtle库(螺旋正方形)

    利用python turtle库 画 螺旋正方形 螺旋正方形 import turtle #导入turtle库 turtle.pensize(2) #设置画笔的宽度(2) for i in range ...

最新文章

  1. Linux之切换目录命令
  2. python counter函数定义_分享几个自己常用的Python高级函数
  3. getvalue函数怎么使用_Java中的构造函数——通过示例学习Java编程(14)
  4. final, finally, finalize 的区别
  5. 开发中常用的一些神器推荐
  6. 如何把电压这个浮点值转字符串输出到串口
  7. armgcc交叉编译的文件无法运行_从0开始搭建基于ARM GCC的软件系统02——使用ARM GCC编译SDK
  8. 数据建模_漫谈数据仓库之维度建模
  9. LocalBroadcastManager分析
  10. HDU 1257 最少拦截系统 简单DP
  11. RS232串口接线图
  12. html表单中文字前黑点怎么弄,如何将word文档中标题前的黑点去掉
  13. MySQL的binLog、redoLog、undoLog是什么?
  14. 测试高考体育成绩的软件,2020年新版高考体育测试成绩100分值对照表.docx
  15. Android 传感器之《加速传感器》——摇一摇功能
  16. 超级计算机发展 小记
  17. Image.FromStream与Image.FromFile使用区别
  18. 数字化招聘:猎聘、快手同行不同路
  19. 蜘蛛池刷百度指数和第三方贴
  20. 1131 神犇的悲惨一生

热门文章

  1. Windows的快捷键
  2. Vue实现计算商品总价简单案例
  3. windows系统下Mysql服务启动后立即关闭问题-排查及解决方法
  4. MATLAB:Floyd算法的解释
  5. 杭州 编程培训python 暑假
  6. 等级保护中要求的双因子认证
  7. 第三篇 Ubuntu 20.04 搭建AI开发环境
  8. 图解4种git合并分支方法
  9. 点击Home键关闭软键盘
  10. (转)ECC算法详细分析