武漢的櫻花是出名了的,既然去不了武漢。那就寫個櫻花出來~

親愛的朋友們: 想要一起來看櫻花嗎? 聽說武漢這座英雄城市的櫻花已經開了,但是在疫情的影響下,我們只能隔幕觀花,小編也是一個愛花使者,今天我們就以另一種方式來呈現櫻花之美,想要看到美麗的花朵,得每天保持學習狀態,不斷吸收新知識,學習新技能,接下來和小編一起欣賞一棵別樣的櫻花樹。

初夏的櫻花

武漢的櫻花是出名了的,既然去不了武漢。那就寫個櫻花出來~

櫻花樹實現思路

實現思路主要是利用之前學過的 Python 繪圖模塊 Turtle,櫻花樹主要組成部分有樹幹和花瓣以及飄落的花瓣構成。

亭亭玉立的樹幹

繪畫的樹幹使用了 Python 中的隨機函數,這樣每次生成的樹幹都是隨機的,樹幹的選擇也是隨機設置參數進行調整。

示例圖:

武漢的櫻花是出名了的,既然去不了武漢。那就寫個櫻花出來~

代碼如下所示:

<code>def cherryTree(branch, t):
if branch > 4:
if 7 <= branch <= 13:
# 隨機數生成
if random.randint(0, 3) == 0:
t.color('snow') # 花瓣心的顏色
else:
t.color('pink') #花瓣顏色
# 填充的花瓣大小
t.pensize( branch / 6)
elif branch < 8:
if random.randint(0, 2) == 0:
t.color('snow')
else:
# 設置櫻花樹葉顏色
t.color('green') # 櫻花樹顏色
t.pensize(branch / 5)
else:
t.color('Peru') # 樹幹顏色
t.pensize(branch / 11) #調整樹幹的粗細
t.forward(branch)
a = 1 * random.random()
t.right(20 * a)
b = 1 * random.random()
# 調用函數本身繪畫 
cherryTree(branch - 10 * b, t)
t.left(60 * a)
# 調用函數本身繪畫
cherryTree(branch - 10 * b, t)
t.right(40 * a)
# 提筆
t.up()
t.backward(branch)
# 落筆
t.down()/<code>

以上代碼實現的是隨機樹幹以及花瓣顏色、樹葉的顏色填充,同時還調整了花瓣大小和樹幹粗細。使整個樹幹看起來更協調。

花瓣隨風飄

欣賞櫻花最美不過是櫻花隨風飄落的場景,示例圖:

武漢的櫻花是出名了的,既然去不了武漢。那就寫個櫻花出來~

代碼實現:

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

# 向前移動
t.forward(a)
# 放下畫筆
t.down()
# 設置花瓣顏色
t.color('pink') # 粉紅色
# 畫個小圓當作花瓣
t.circle(1)
# 提起畫筆
t.up()
# 畫筆向後退
t.backward(a)
# 畫筆向前行
t.right(70)
t.backward(b)/<code>

文字

一棵好看的櫻花樹少不了合適的文案,這裡我們再利用小海龜繪圖將文字配上

詳細代碼如下:

<code>def des_word():
t.color('LightCoral') # 字體顏色設置
t.hideturtle()
t.goto(-50,-130)
t.pu()
# 昨日雪如花,今日花如雪,山櫻如美人,紅顏易消歇。
t.write('昨日雪如花,',move=False, align='center', font=('Arial', 20, 'normal'))
t.pd()

t.pu()
t.goto(90,-130)
t.write('今日花如雪', move=False, align='center', font=('Arial', 20, 'normal'))
t.pd()/<code>

畫筆樣式調整

<code>t = turtle.Turtle()
# 畫布大小 獲取到屏幕
w = turtle.Screen()
t.hideturtle() # 隱藏畫筆
t.getscreen().tracer(8, 0) # 獲取屏幕大小
w.screensize(bg='LightCyan') # 設置屏幕背景顏色
t.left(80)
t.up()
t.backward(140)
t.down()
t.color('sienna')
cherryTree(50, t)
petal(300, t)/<code>

最終結果

武漢的櫻花是出名了的,既然去不了武漢。那就寫個櫻花出來~

總結

櫻花的實現過程主要就是看個人對知識點的理解以及應用,每學習一項技能都需要付出很多的努力,實踐和運用並存才能運用得如魚得水。 今天分享的內容素材來源於週末和朋友出去看櫻花的突發靈感,希望大家都能在疫情結束後與摘下口罩盡情賞花。

想哄女朋友開心,那就私信小編01 領取源代碼吧


分享到:


相關文章: