python樱花树的设计思路_用python绘制樱花树
黑夜可能漫长,但总会迎来温暖的阳光,三月如期而至,武大的樱花又一次盛开。那么今天就一起来看看怎样在python中画一棵美丽的樱花树~
说到用python画画,那当然就是小乌龟Turtle库了,为啥是turtle呢,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
一、安装与引入
安装没有什么难度直接pip安装就可以
pip install turtle
可使用以下3种方法引入:
二、使用
turtle库使用起来也很简单,主要就是利用几个核心的控制代码
turtle.goto(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: #随机绘制
t.color('snow') #设置颜色
else:
t.color('lightcoral') # 树叶颜色
t.pensize(branch / 3)
elif branch < 6:
if random.randint(0, 1) == 0:
t.color('snow')
else:
t.color('lightcoral') #
t.pensize(branch / 2)
else:
t.color('sienna') # 赭(zhě)色
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)。
那么来看看最后效果吧!
以上就是用python绘制樱花树的详细内容,更多关于python绘图的资料请关注python博客其它相关文章!
python樱花树的设计思路_用python绘制樱花树相关推荐
- 接口测试用例设计思路_基于python语言的接口自动化demo小实战
近期通过自己的学习以及实战,完成了一个关于测试接口的接口自动化demo. 下面想跟大家分享一下,主要的思路是根据接口文档确定测试用例,并将测试用例写在excel中. 01 因为只是小作demo,测试用 ...
- python俄罗斯方块课程设计报告_用python实现俄罗斯方块
!/usr/bin/python -- conding:utf-8 -- from tkinter import * import time import threading import rando ...
- python随机分组的思路_「Python」每日一练:学生学习小组分组程序
编程题 学习小组分组程序:某课程共分4个小组,现有12名学生,要求随机分配到各组中.要求每组有且只能有3名学生. 编程要求:(1)要求使用嵌套列表保存数据:(2)要求导入随机数模块 思路分析 (1)首 ...
- python登录代码思路_用python登录Dr.com思路以及代码分享
用python登录Dr.com思路以及代码分享 发布于 2014-08-28 22:31:52 | 192 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对 ...
- python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...
基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...
- python网络爬虫的流程图_基于Python的网络爬虫的设计与实现
龙源期刊网 http://www.qikan.com.cn 基于 Python 的网络爬虫的设计与实现 作者:高祖彦 来源:<商情> 2020 年第 33 期 [摘要]一个爬虫从网上爬取数 ...
- python制作物联网控制软件下载_基于Python和Django框架的物联网智能设备管理系统的设计与实现...
论文写作指导:请加QQ229366758 基于Python和Django框架的物联网智能设备管理系统的设计与实现 作者:未知 摘 要:针对目前日益增多的智能设备提出了兼容性好,稳定性高,易于管理的管理 ...
- python做数据库课设_基于Python的实时数据库设计
基于 Python 的实时数据库设计 韩菲,金磊,戴文浩,李艳飞,杨树 [摘 要] Berkeley Db 作为一款优秀轻便的嵌入式数据库,在实际中得到了广 泛的应用,其提供了针对多种语言的 API ...
- python解题思路_黄哥Python: 一道水题“最大唯一数” 解题思路
有人在**论坛上提问,求解一个数组中最大唯一数. 1.读题,数组中全部是整数,有的数字有重复的,求出不重复的最大整数. 2.解题思路,利用Python 字典去统计每一个整数出现的次数,整数为key,出 ...
最新文章
- runtime error: invalid memory address or nil pointer dereference
- Linux 使用记录
- POJ 3322 Bloxorz I(BFS)
- 约吗? 免费领取一大波90后单身女神产品经理(增加5位女神)
- django+ajax+表格加载,如何使用ajax在Django-admin表格内联中读取/写入输入字段?
- java 多线程 聊天_Java做一个多线程类似于QQ的聊天程序。
- 在STM32单片机上跑神经网络算法
- java两个数最大公约数和最小公倍数,java求两个数的最大公约数和最小公倍数
- nor flash驱动编写步骤
- 开源工具kettle中Job流程的理解
- 如何实现公平的效绩考核?
- 怎么自己制作一个U盘
- 如何去掉广告实现百度精准搜索
- 基于Goolgle最新NavigationDrawer实现全屏水平平移
- sar adc的常用指标(二)
- python儿童-少儿Python创意编程课
- 史上ElasticSearch 最全详细使用教程
- Android借助bmob实现简单的登陆注册
- mysql客户端连接10060,Navicat远程连接MySQL出现10060解决办法小结
- 基于引擎开发HTML5游戏实战(一)---游戏引擎