Python使用Turtle庫繪制一棵西蘭花
Turtle庫是Python中一個強大的繪制圖像的函數(shù)庫,靈活使用Turtle庫可以繪制各種好看的圖像。
下面介紹使用Turtle庫繪制一棵西蘭花。
繪制一棵西蘭花,從主干出發(fā)以一定的角度向左向右生成對稱的枝干,再從每個枝干出發(fā)向左向右生成對稱的枝干,循環(huán)此動作,并最終繪制出一棵漂亮的西蘭花。
首先導(dǎo)入Turtle庫,并設(shè)置畫筆大小、畫筆速度及顏色,并隱藏畫筆
from turtle import Turtle p=Turtle() p.pensize(5) p.color(clr) p.hideturtle() p.getscreen().tracer(30,0)
設(shè)置起始方向以及位置(屏幕中心為坐標(biāo)原點)
p.left(90) p.penup() p.goto(x,y) p.pendown()
設(shè)置畫筆完成之后,開始繪制西蘭花,首先繪制從開始畫位置向著預(yù)定的方向前進(jìn)一段距離,并向左向右分成兩個對稱的分支
p.forward(l) q=p.clone() p.left(a) q.right(a)
每完成一次分支后就將兩個分支對象添加到list中,并通過遍歷list完成整個圖像的繪制
def tree(plist,l,a,f):
if l>5:
lst=[]
for p in plist:
p.forward(l)
q=p.clone()
p.left(a)
q.right(a)
lst.append(p)
lst.append(q)
tree(lst,l*f,a,f)
在程序中通過遞歸調(diào)用完成了一棵西蘭花的繪制。
程序剩余代碼如下:
def maketree(x,y,clr): p=Turtle() p.pensize(5) p.color(clr) p.hideturtle() p.getscreen().tracer(30,0) #p.speed(10) p.left(90) p.penup() p.goto(x,y) p.pendown() t=tree([p],200,20,0.6375) #print(len(p.getscreen().turtles())) def main(): maketree(0,-300,"green") main()
以上這篇Python使用Turtle庫繪制一棵西蘭花就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python通過getopt模塊如何獲取執(zhí)行的命令參數(shù)詳解
這篇文章主要給大家介紹了關(guān)于python通過getopt模塊如何獲取執(zhí)行的命令參數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
安裝Pycharm2019以及配置anconda教程的方法步驟
這篇文章主要介紹了安裝Pycharm2019以及配置anconda教程的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python實現(xiàn)判斷一個整數(shù)是否為回文數(shù)算法示例
這篇文章主要介紹了Python實現(xiàn)判斷一個整數(shù)是否為回文數(shù)算法,結(jié)合實例形式分析了Python針對字符串的翻轉(zhuǎn)、判斷等相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
教你用YOLOv5實現(xiàn)多路攝像頭實時目標(biāo)檢測功能
目標(biāo)檢測是計算機視覺的研究方向之一,下面這篇文章主要給大家介紹了關(guān)于如何利用YOLOv5實現(xiàn)多路攝像頭實時目標(biāo)檢測功能的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03

