心情不好的時候,用 Python 畫棵櫻花樹送給自己吧

專注的阿熊發表於2022-02-07

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

         ran=random()

         # 這裡相比於原來隨機新增了填充的圓圈,讓櫻花葉子看起來更多一點

         if(ran>0.7):

             begin_fill()

             circle(3)

             fillcolor('pink')

         # 把原來隨機生成的葉子換成了統一的粉色

         pencolor("pink")

         circle(3)

         if(ran>0.7):

             end_fill()

         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 =外匯跟單gendan5.com 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.956,0.9255,0.9882)# 設定背景色(把灰色換成淡紫色)

ht()# 隱藏 turtle

speed(0)# 速度 1-10 漸進, 0 最快

tracer(0,0)

pu()# 抬筆

backward(50)

left(90)# 左轉 90

pu()# 抬筆

backward(300)# 後退 300

tree(12,100)# 遞迴 7

done()


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2854775/,如需轉載,請註明出處,否則將追究法律責任。

相關文章