如何用Python畫一棵漂亮的樹

2021-09-19 21:47:40 字數 1876 閱讀 7016

海龜繪圖turtle

在2023年,seymour *****t和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層

執行效果

python畫 如何用Python畫一棵漂亮的樹

tree 海龜繪圖turtle 在1966年,seymour t和wally feurzig發明了一種專門給兒童學習程式設計的語言 logo語言,它的特色就是通過程式設計指揮乙個小海龜 turtle 在螢幕上繪圖。海龜繪圖 turtle graphics 後來被移植到各種高階語言中,python內建...

Python用turtle模組畫一棵漂亮的星星樹

童話中,樹上長滿星星,五顏六色的,非常漂亮的星星樹 今天,用python 可以實現,電腦幫你畫出來,每次執行都完全隨機 五角星擁有隨機的顏色和大小,如圖 下面是我寫的源 相當簡短哦 import turtle random turtle.screensize 900,600,papayawhip t...

如何用Sklearn畫一棵決策樹

python3.7.1 你的版本至少要3.4以上 scikit learn0.20.0 你的版本至少要0.20 graphviz0.8.4 沒有畫不出決策樹哦,安裝 conda install python graphviz numpy1.15.3,pandas0.23.4,matplotlib3....