一、树形1

代码:

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()

二、树形2

效果图:

代码:

from turtle import *# 设置色彩模式是RGB:
colormode(255)lt(90)lv = 14
l = 120
s = 45width(lv)# 初始化RGB颜色:
r = 0
g = 0
b = 0
pencolor(r, g, b)penup()
bk(l)
pendown()
fd(l)def draw_tree(l, level):global r, g, b# save the current pen widthw = width()# narrow the pen widthwidth(w * 3.0 / 4.0)# set color:r = r + 1g = g + 2b = b + 3pencolor(r % 200, g % 200, b % 200)l = 3.0 / 4.0 * llt(s)fd(l)if level < lv:draw_tree(l, level + 1)bk(l)rt(2 * s)fd(l)if level < lv:draw_tree(l, level + 1)bk(l)lt(s)# restore the previous pen widthwidth(w)speed("fastest")draw_tree(l, 4)done()

三、树形3

效果图:

代码:

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()
done()

四、树形4

效果图

代码:

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 + 10c = random() * 15 + 10d = 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()
speed(0)
tracer(0, 0)
left(90)
pu()
backward(300)
tree(13, 100)
done()

Python Turtle库画树相关推荐

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

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

  2. Python Turtle库画一棵对称勾股树,美丽惊艳的分形世界!

    分形,具有以非整数维形式充填空间的形态特征.通常被定义为"一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状",即具有自相似的性质.分形(Fr ...

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

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

  4. 一篇文教你使用python Turtle库画出“精美碎花小清新风格树”快来拿代码!

    Turtle库手册可以查询查询 python图形绘制库turtle中文开发文档及示例大全,手册中现有示例,不需要自己动手就可以查看演示. 文章修改记录 修改记录 1:2020年5月17日 12:06: ...

  5. python turtle画有趣的图形_使用python Turtle库画出“精美碎花小清新风格树”

    Turtle库手册可以查询查询 使用Turtle画树,看了一下网上的代码,基本上核心的方法是使用递归:其次通过递归传参更笔的粗细从而改变绘制时的线段,更改树的躯干大小,在遍历到最后一个节点时,更改笔的 ...

  6. 教你一招用 Python Turtle 库画出“精美碎花小清新风格树”,速取代码! | 原力计划...

    作者 | 1_bit 责编 | 王晓曼 出品 | CSDN博客 开始 使用Turtle画树,看了一下网上的代码,基本上核心的方法是使用递归:其次通过递归传参更笔的粗细从而改变绘制时的线段,更改树的躯干 ...

  7. python turtle库画图案-Python基础图形绘制库——turtle

    (1).介绍 turtle库也叫海龟库,是turtle绘图体系的Python实现.turtle库是Python语言的标准库之一,是入门级的图形绘制函数库. turtle绘图体系:也叫海龟绘图系统,它是 ...

  8. python turtle库画图案-python中的turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

  9. python turtle库画图案-Python如何使用turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

最新文章

  1. Oracle后台进程
  2. thinkphp-查询数据-基本查询
  3. 人脸识别损失函数笔记
  4. 网络基础:分享几个路由器设置小技巧,总有用得到的一天!
  5. H.Minimum-cost Flow
  6. 【转】aspx,ascx和ashx使用小结
  7. 窗口位置按钮取消_VBA002:“宏”的保存位置有哪几种方式?
  8. 三套致富战略-教你成为百万富翁
  9. 庆祝本人在cnblogs排名进入前2000!
  10. 数据库SQL语句解析
  11. 【2013高考作文】重庆作文
  12. iphone 与 PC端电脑投屏设置
  13. 汇率转换方法java,[java] 汇率换算器实现(2)
  14. POST注入-显错注入 ——合天网安实验室学习笔记
  15. js下载文件 阿星小栈
  16. R语言对京东商品进行文本爬虫
  17. 云服务器怎么多人进去编辑文档,有道云协作怎么实现多人协同编辑 多人同时处理文档方法...
  18. OpenGL光源位置
  19. c语言 vc++6.0 插入图片,C语言VC++6.0环境中如何插入图片
  20. 怀念上世纪90年代的中国摇滚乐

热门文章

  1. 使用ipset设置iptables(黑/白)名单
  2. 今生有缘理珍惜,何必来世续前缘
  3. 微信小程序 canvas描绘文字图片 生成图片并保存到本地
  4. svm java 预测,SVM模型预测查询
  5. Golang队列中间件开发总结
  6. android传感器灵敏度,Android-Sensor重力感应器灵敏度问题
  7. 基础备忘:拷贝构造函数和赋值函数
  8. 二叉树的结点计算问题及性质
  9. Linux io操作
  10. orgChart的简单使用,实现树状图结构