最近用Python(大多是turtle库)绘制的樱花树有点火,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~)

one 樱花树

(一) 动态生成樱花

效果图(这个是动态的):

实现代码

import turtle as T

import random

import time

# 画樱花的躯干(60,t)

def Tree(branch, t):

time.sleep(0.0005)

if branch > 3:

if 8 <= branch <= 12:

if random.randint(0, 2) == 0:

t.color('snow') # 白

else:

t.color('lightcoral') # 淡珊瑚色

t.pensize(branch / 3)

elif branch < 8:

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

# 掉落的花瓣

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)

# 绘图区域

t = T.Turtle()

# 画布大小

w = T.Screen()

t.hideturtle() # 隐藏画笔

t.getscreen().tracer(5, 0)

w.screensize(bg='wheat') # wheat小麦

t.left(90)

t.up()

t.backward(150)

t.down()

t.color('sienna')

# 画樱花的躯干

Tree(60, t)

# 掉落的花瓣

Petal(200, t)

w.exitonclick()

(二)飘落效果

效果图:

实现代码

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

(三)暗色效果

效果:

实现代码

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 / 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.5

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

two 玫瑰花

效果(有绘制过程)

实现代码

from turtle import *

import time

setup(1000,800,0,0)

speed(0)

penup()

seth(90)

fd(340)

seth(0)

pendown()

speed(5)

begin_fill()

fillcolor('red')

circle(50,30)

for i in range(10):

fd(1)

left(10)

circle(40,40)

for i in range(6):

fd(1)

left(3)

circle(80,40)

for i in range(20):

fd(0.5)

left(5)

circle(80,45)

for i in range(10):

fd(2)

left(1)

circle(80,25)

for i in range(20):

fd(1)

left(4)

circle(50,50)

time.sleep(0.1)

circle(120,55)

speed(0)

seth(-90)

fd(70)

right(150)

fd(20)

left(140)

circle(140,90)

left(30)

circle(160,100)

left(130)

fd(25)

penup()

right(150)

circle(40,80)

pendown()

left(115)

fd(60)

penup()

left(180)

fd(60)

pendown()

end_fill()

right(120)

circle(-50,50)

circle(-20,90)

speed(1)

fd(75)

speed(0)

circle(90,110)

penup()

left(162)

fd(185)

left(170)

pendown()

circle(200,10)

circle(100,40)

circle(-52,115)

left(20)

circle(100,20)

circle(300,20)

speed(1)

fd(250)

penup()

speed(0)

left(180)

fd(250)

circle(-300,7)

right(80)

circle(200,5)

pendown()

left(60)

begin_fill()

fillcolor('green')

circle(-80,100)

right(90)

fd(10)

left(20)

circle(-63,127)

end_fill()

penup()

left(50)

fd(20)

left(180)

pendown()

circle(200,25)

penup()

right(150)

fd(180)

right(40)

pendown()

begin_fill()

fillcolor('green')

circle(-100,80)

right(150)

fd(10)

left(60)

circle(-80,98)

end_fill()

penup()

left(60)

fd(13)

left(180)

pendown()

speed(1)

circle(-200,23)

exitonclick()

three 圣诞树圣诞树 (动态生成效果)

实现代码

from turtle import *

import random

import time

n = 100.0

speed("fastest")

screensize(bg='seashell')

left(90)

forward(3*n)

color("orange", "yellow")

begin_fill()

left(126)

for i in range(5):

forward(n/5)

right(144)

forward(n/5)

left(72)

end_fill()

right(126)

color("dark green")

backward(n*4.8)

def tree(d, s):

if d <= 0: return

forward(s)

tree(d-1, s*.8)

right(120)

tree(d-3, s*.5)

right(120)

tree(d-3, s*.5)

right(120)

backward(s)

tree(15, n)

backward(n/2)

for i in range(200):

a = 200 - 400 * random.random()

b = 10 - 20 * random.random()

up()

forward(b)

left(90)

forward(a)

down()

if random.randint(0, 1) == 0:

color('tomato')

else:

color('wheat')

circle(2)

up()

backward(a)

right(90)

backward(b)

time.sleep(60)

最后分享一些小福利

提取码:kt2v

链接容易被举报过期,如果失效了就在这里领取吧

python画三瓣树叶_Python——画一棵漂亮的樱花树相关推荐

  1. python画三瓣树叶_python教你画一棵树

    最近不少读者对 python 的 turtle 库比较感兴趣,用python画一朵玫瑰给你,之前也写了一篇文章讲过如何画一朵玫瑰花.今天在知乎上找了一个用 turtle 画树的 python 程序,一 ...

  2. python画三瓣树叶_用Python能画哪些树?

    用Python画出的三种树: 第一种树:# 图一: from turtle import * from random import * from math import * def tree(n, l ...

  3. python画一片树叶_python画一片绿叶给你

    怎么用 turtle 画一个 π 字,于是我顺手到网上大致搜了下,发现网上没有画这个 π 字的,接着又用谷歌加英文搜索了下,还是没找到现成的答案. 不过通过这次搜索意外发现了一个有趣的网站,网站上有大 ...

  4. 用python画动态樱花_利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白...

    利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白 此处感谢知乎大佬 小白练手 练习一下比较流行的turtle(海龟库) 画一棵漂亮的樱花树,效果如下: ps: 是动态 ...

  5. python樱花制作教程视频_大型Python视频资料,阿里巴巴推荐,用Python画一棵漂亮的樱花树...

    原标题:大型Python视频资料,阿里巴巴推荐,用Python画一棵漂亮的樱花树 对于初学者想更轻松的学好Python开发,爬虫技术,Python数据分析,人工智能等技术,这里也给大家准备了一套系统教 ...

  6. Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔

    原创 Python--画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔) 2019-10-22 21:36:48 Soul fragments 阅读数 24878 文章标签: 樱花 python jav ...

  7. 【本周Python热点回顾】画一棵漂亮的樱花树,Python3*和**运算符,Python入门,这就是Python3.8么,i了

    热点1:Python--画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔) 摘要:最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不 ...

  8. python画菱形的代码_python画棱形

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 实际中解这类题我们可以画x*y的菱形手动画路径,但我们可以用程序模拟这一过程,下 ...

  9. python画k线图_python画k线图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...

最新文章

  1. mac mysql的安装
  2. pup 流程控制语句(下)
  3. android:process=.server,Android启动(三)----开启SystemServer进程
  4. Maven的Archetype简介
  5. linux查看cpu缓存大小,如何在Linux中获取CPU Cache的大小
  6. 数组中常用几种的Arrays方法
  7. APP性能测试工具——GT 使用方法
  8. 2022年全球与中国湿钽电容器行业发展趋势及投资战略分析报告
  9. CoAP协议学习笔记 3.1 CoAP协议翻译 加密基础介绍
  10. autoware官方入门教使用
  11. 标签名选择器、id选择器、class类型选择器、组合选择器
  12. windows双系统如何删除ubuntu系统并重装
  13. JetBrains全家桶激活
  14. 电力电子器件的系统组成和分类
  15. SUST OJ 1671: 数字拼图
  16. es filter中使用should
  17. allegro如何快速的按照模板放置器件
  18. 如何设计复杂多变的java清分系统之一
  19. 16S扩增子分析专题研讨论会——背景介绍
  20. FlyMcu下载出现“从08000000开始运行失败...可能是因为刚写了选项字节!!!”解决方法!

热门文章

  1. ENFJ型人格适合选择哪些专业?
  2. 自走棋服务器太不稳定,《多多自走棋》将登陆Epic平台 PC版数据将与移动版互通...
  3. 关于@Test单元测试
  4. Mockito 教程
  5. ubuntu查看显卡是否安装
  6. 计算机文秘所学的知识,18文秘02李荧 随着现代科学技术的发展,计算机已经
  7. 揭密玄学奥秘(一):风水, 姓名八字其实都是科学...
  8. 直播带货系统,实现直播音频的播放
  9. linux的lvcreate语句,lvcreate
  10. Deepin设置隐藏Windows分区