python画-如何用Python画一棵漂亮的树
Tree
海龟绘图turtle
在1966年,Seymour Papert和Wally Feurzig发明了一种专门给儿童学习编程的语言——LOGO语言,它的特色就是通过编程指挥一个小海龟(turtle)在屏幕上绘图。
海龟绘图(Turtle Graphics)后来被移植到各种高级语言中,Python内置了turtle库,基本上100%复制了原始的Turtle Graphics的所有功能。
Python脚本:
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画-如何用Python画一棵漂亮的树相关推荐
- python画-如何用Python画各种著名数学图案 | 附图+代码
原标题:如何用Python画各种著名数学图案 | 附图+代码 用Python绘制著名的数学图片或动画,展示数学中的算法魅力. Mandelbrot 集 代码:46 lines (34 sloc) 1. ...
- 用python画猫咪怎么画-如何用Python画一只机器猫?
原标题:如何用Python画一只机器猫? 本文经授权转自公众号异步图书 如若转载请联系原公众号 自信心是成功的源泉,对刚入门编程行业的初级程序员来说,多敲代码多做项目就是构建自信心的最好办法. 第一次 ...
- python udp_如何用python方法检测UDP端口
如何用python方法检测UDP端口,首先要了解什么是UDP端口及作用.网上搜索了一圈后,我得到的个人理解是:UDP端口是含有网络服务必须的源端口和目的端口信息,用以建立和实现网络传输服务. 那么如何 ...
- python数据分析——如何用python连接远程数据库
本文将以SQLite.MySQL,PostgreSQL为例讲解python怎样连接远程数据库并执行相关数据库操作. SQLite SQLite可能是与Python连接的最方便的数据库,因为我们不需要安 ...
- 【Python】如何用Python发送SMTP邮件
[背景] 自动发送邮件通知是流成自动化系统必备的功能,今天介绍如何用Python实现. [代码] 这里以163邮箱为例 def send_smtp_mail(host="smtp.163.c ...
- python语言是 创造的_慢步python,如何用python语言创造出一个真正的独立exe程序?...
我们学习编程,终极目标还是编写一个独立的应用程序.独立的应用程序应该像QQ,微信一样不依靠其他程序运行,只有平台支持,就可以运行.从这个意义上说,所用应用程序都是基于操作系统运行的. 那么如何用pyt ...
- python workflow_如何用 Python 写 Alfred Workflow
原标题:如何用 Python 写 Alfred Workflow 用 Mac 的同学应该都听过 Alfred,号称效率神器.但是,你有没有想过可以用 Python 自己写一个 Workflow 呢? ...
- 人生苦短我用python壁纸_人生苦短,我用 Python——我如何用 Python 助力工作和生活?...
在生活和工作中,往往充斥着一些枯燥且乏味的事情.所以要让自己从机械地重复性劳动中解放出来,才是解放身心的正确姿势. 本文列举了我自己平时在工作和生活中的七个小场景,每个场景都是带有这样「重复性」性质的 ...
- 【Python】如何用 python 计算矩阵相乘 - numpy.dot()
文章目录 一.如何用 python 计算矩阵乘法? 二.实例 参考链接 一.如何用 python 计算矩阵乘法? 使用 Numpy 包里的 dot() 函数. 该函数主要功能有两个:向量点积 和 矩阵 ...
- chatgpt赋能python:如何用Python计算球的表面积和体积
如何用Python计算球的表面积和体积 球体是数学中的常见图形,计算球的表面积和体积是科学研究和应用中的重要问题.Python作为一种高效.易学.广泛使用的编程语言,可以很方便地用于计算球的表面积和体 ...
最新文章
- SAP MM 由于没有维护Plant的Address信息导致不能在ME51N和ME21N界面里输入工厂代码
- Linux不停往外发包
- unity3d技术摄像头跟随_堪比灯厂,新时代智能安全灯光技术,体验大众迈腾GTE IQ.LIGHT...
- CSS3属性之background
- 文献记录(part16)--Learning Bayesian Network Classifiers: Searching in a Space of Partially ...
- EL在java里的意义
- Codeforces Round #446 (Div. 1) B. Gluttony 构造 + 补集思想
- 20款漂亮的长阴影 LOGO 设计作品【附免费生成工具】
- Duilib编辑框Edit输入完自动跳到下一个编辑框
- 接口测试和性能测试的区别
- IDEA Properties 文件乱码
- 软件测试用mac还是windows,Boot Camp还是虚拟机?Mac+Win实测
- 一道看似简单的sql需求却难倒各路高手 - 你也来挑战下吗?
- 《OpenDRIVE1.6规格文档》1
- MyBatis官方文档
- html颜色混搭的插件,Color by Fardos,网页取色配色插件,查找近似颜色,提供渐变配色...
- 计算机应对青少年素质培养作文,2020年关于素质修养的作文5篇
- html怎么叠加透明图片,css – 您可以在图片上叠加透明div
- 航空研发软件移机时使用符号连接节省Windows系统C盘空间占用
- 【Arduino】8位LED数码管(3461BS)
热门文章
- centos7 docker 安装 otter 注意事项
- 0428(字典,列表,循环)
- Sql server中如何将表A和表B的数据合并(乘积方式)
- Access denied for user 'root'@'localhost' (using password: YES)的解决
- Zookeeper 的学习与运用
- Delphi (Library Path Browsing Path)
- 【English】哈佛大学用这12张图,让你远离负能量
- C# .net中json字符串和对象之间的转化方法
- 【★】Web精彩实战之智能迷宫
- 打开Excel文件并插入图片