Python繪圖之桃花盛開
今天請各位讀者朋友欣賞用 Python 實現(xiàn)的鮮花盛宴,你準(zhǔn)備好了嗎?90 行代碼即可實現(xiàn)一棵美麗的鮮花盛開樹。小編也是鮮花愛護協(xié)會者之一,但是想要看到美麗的花朵,得歷經(jīng)很多;對于知識的運用也是如此,需要不斷吸收新知識,學(xué)習(xí)新技能,才能盛開出美麗的花朵。接下來就看看一棵迷人的花樹是怎么實現(xiàn)的吧!
夏天的花
實現(xiàn)思路
實現(xiàn)思路主要是利用之前學(xué)過的 Python 繪圖模塊 Turtle,Turtle 詳細學(xué)習(xí)課程請參考趣玩 Python 之繪制基本圖形 再結(jié)合隨機函數(shù)生成任意的一棵樹,櫻花樹主要組成部分有樹干和花瓣以及飄落的花瓣構(gòu)成。
亭亭玉立的樹干
繪畫的樹干使用了 Python 中的隨機函數(shù),這樣每次生成的樹干都是隨機的,樹干的選擇也是隨機設(shè)置參數(shù)進行調(diào)整。
示例圖:
代碼如下所示:
def cherryTree(branch, t): if branch > 4: # 枝干數(shù) if 7 <= branch <= 13: # 隨機數(shù)生成 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: # 設(shè)置樹葉顏色 t.color('green') t.pensize(branch / 5) else: t.color('Peru') # 樹干顏色 t.pensize(branch / 11) #調(diào)整樹干的粗細 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()
以上代碼實現(xiàn)的是隨機樹干以及花瓣顏色、樹葉的顏色填充,同時還調(diào)整了花瓣大小和樹干粗細。使整個樹干看起來更協(xié)調(diào)。
花瓣隨風(fēng)飄
賞花最美不過是花瓣隨風(fēng)飄落的場景,示例圖:
代碼實現(xiàn):
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() # 設(shè)置花瓣顏色 t.color('pink') # 粉紅色 # 畫個小圓當(dāng)作花瓣 t.circle(1) # 提起畫筆 t.up() # 畫筆向后退 t.backward(a) # 畫筆向前行 t.right(70) t.backward(b)
鮮花配文字
一棵盛開的鮮花樹怎么能少得了合適的文案呢?這里我們再利用小海龜繪圖將文字配上
代碼如下:
def des_word(): t.color('LightCoral') # 字體顏色設(shè)置 t.hideturtle() # t.goto(-50, -130) t.goto(-60,-170) t.pu() t.write('姹紫嫣紅桃花箋,',move=False, align='center', font=('Arial', 20, 'normal')) t.pd() t.pu() # t.goto(90, 130) t.goto(150,-170) t.write('繁花似錦為君妍', move=False, align='center', font=('Arial', 20, 'normal')) t.pd()
畫筆樣式調(diào)整
t = turtle.Turtle() # 畫布大小 獲取到屏幕 w = turtle.Screen() t.hideturtle() # 隱藏畫筆 t.getscreen().tracer(8, 0) # 獲取屏幕大小 w.screensize(bg='LightCyan') # 設(shè)置屏幕背景顏色 t.left(80) t.up() t.backward(140) t.down() t.color('sienna') cherryTree(50, t) petal(300, t)
最終結(jié)果
至此,清風(fēng)徐來,繁花已開!
到此這篇關(guān)于Python繪圖之桃花盛開的文章就介紹到這了,更多相關(guān)python桃花樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在vscode中啟動conda虛擬環(huán)境的思路詳解
這篇文章主要介紹了在vscode中啟動conda虛擬環(huán)境的思路詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12一文詳解Python如何優(yōu)雅地對數(shù)據(jù)進行分組
這篇文章主要和大家詳細介紹一下Python是如何優(yōu)雅地對數(shù)據(jù)進行分組的,文中通過示例進行了詳細的講解,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-07-07利用Python裁切tiff圖像且讀取tiff,shp文件的實例
這篇文章主要介紹了利用Python裁切tiff圖像且讀取tiff,shp文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03python實現(xiàn)將讀入的多維list轉(zhuǎn)為一維list的方法
今天小編就為大家分享一篇python實現(xiàn)將讀入的多維list轉(zhuǎn)為一維list的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06