这几天给大家介绍的画图形的方法很多,小编就想着有没有难一点的可以挑战一下。经过一番搜集资料,还真的被小编找到了。当然代码会比较长,小伙伴们学习的时候要有耐心,不要出现手滑的现象,不然对着代码一点点找失误真的是太痛苦啦。接下来就进行我们今天的画图吧。

代码:from turtle import *

from random import *

from math import *

def tree(n, l):

pd() # 下笔

# 阴影效果

t = cos(radians(heading() + 45)) / 8 + 0.25

pencolor(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.5

pencolor(n, n*0.8, n*0.8)

circle(3)

left(90)

# 添加0.3倍的飘落叶子

if(random() > 0.7):

pu()

# 飘落

t = heading()

an = -40 + random()*40

setheading(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.5

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

成果:

画好的小伙伴是不是发现这个树非常漂亮?当然了,之前的代码非常长,写起来也是需要时间的。所以写代码的时候一定要小心,如果其中出了一点错误会非常难以找到。以后有好看的图片小编还会继续分享给大家~

python中turtle画树_python中turtle可以画树吗?怎么画?相关推荐

  1. python中的turtle如何运行_python中turtle库的简单使用教程

    python的turtle库的简单使用 Python的turtle库是一个直观有趣的图形绘制函数库,是python的标准库之一. 一.绘图坐标体系 turtle库绘制图形的基本框架:通过一个小海龟在坐 ...

  2. python中turtle隐藏画笔_python中Turtle的画笔命令有哪些?

    一.画笔 1.画笔运动的命令 turtle.forward(a) 向当前画笔方向移动a像素长度 turtle.backward(a) 向当前画笔相反方向移动a像素长度 turtle.right(a) ...

  3. python海龟库如何导入_Python 中的海龟绘图turtle函数库的详细使用方法

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  4. python turtle详细教程_python 中的turtle使用教程

    python2.6版本中引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics) 1.使用海龟绘图首先我们需要导入turtle,如下所示: from turtle import * # ...

  5. python turtle库绘画_python中的turtle库(图形绘画库)

    turtle绘图的基础知识: 1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置. 设置画布大小 turtle.screensize(canvwid ...

  6. python turtle库下载_Python中turtle库的使用

    1.画布 turtle.setup(650,350,200,200) 前两个参数用于说明画布的大小,后两个参数说明窗体的位置 2.画笔设置 语句 用法 turtle.pensize() 用于设置画笔大 ...

  7. python画松树_Python中的Phyllotaxis模式| 算法植物学的一个单位

    简介| 叶底 Phyllotaxis / phyllotaxy是植物茎上叶子的排列,Phyllotactic螺旋形成自然界中独特的一类模式.这个词本身来自希腊语phullon,意思是"叶子& ...

  8. turtle中circle的用法_Python的turtle库的画图学习-附:五角星和太极图

    1. 安装背景 1.1 Turtle需要安装tkinter,然后python3.8系统自带 1.2 安装 python2下安装 sudo apt install python-tk python3下安 ...

  9. 用python画小人_python之turtle库画会眨眼的小人

    一 简介 turtle是python一个作图库,里面有很多方法.本文使用的方法如下: turtle.penup():画笔抬起 turtle.goto(x,y):画笔到哪里开始 turtle.pendo ...

最新文章

  1. Premiere Pro2.0用DebugMode2.3搭桥小日本4.0输出图解
  2. django 日志写入mysql_如何将django orm模型 写入数据库
  3. 前置交换机数据交换_我们的数据科学交换所
  4. leetcode 字符串中的第一个唯一字符
  5. python 判断字符串开头_python 怎么判断字符串开头
  6. 怎么给水平线设置高度HTML,设置水平线高度的HTML代码是()。
  7. SpringBoot 2.1.5(20)---JSON
  8. 小度智能音响拆解 芯片_拆解报告:小度人工智能音箱1S
  9. mysql在同一台机器上实现主从_MySQL 5.7主从搭建(同一台机器)
  10. 算法不会,尚能饭否之双向循环链表
  11. java读取linux配置文件_Java读取配置文件的几种方法
  12. C语言编译器(C语言编程软件)完全攻略
  13. 开源项目之Android Secrets(密码箱)
  14. 嵌入式系统ARM期末总复习
  15. my python voyage
  16. VMware虚拟机ubuntu指定使用主机的wifi无线网卡
  17. ffmpeg 生成单色测试视频
  18. Android下的linux指令集
  19. linux下apache 的安装,php安装过程
  20. Python自动化工具(自动化操作)

热门文章

  1. 我一个女孩子居然做了十年硬件。​。。
  2. 单片机串口发送数据很慢?这种方法帮助你提高!
  3. HDLBits答案(14)_Verilog有限状态机(1)
  4. 《c语言从入门到精通》看书笔记——第9章 函数
  5. 网络安全应急演练方案内容_筑牢网络安全屏障 盐田区开展网络安全应急演练...
  6. 怎么查看java的引用类_一段代码看 Java 引用类型
  7. 改镜像_镜像制作大法
  8. PIC16F877矩阵键盘的识别
  9. PJzhang:英国通信总部GCHQ开源产品-网络瑞士军刀CyberChef
  10. JQuery中text(),html(),val()的区别