用python繪製櫻花樹
阿新 • • 發佈:2020-09-16
黑夜可能漫長,但總會迎來溫暖的陽光,三月如期而至,武大的櫻花又一次盛開。那麼今天就一起來看看怎樣在python中畫一棵美麗的櫻花樹~
說到用python畫畫,那當然就是小烏龜Turtle庫了,為啥是turtle呢,想象一個小烏龜,在一個橫軸為x、縱軸為y的座標系原點,(0,0)位置開始,它根據一組函式指令的控制,在這個平面座標系中移動,從而在它爬行的路徑上繪製了圖形。
一、安裝與引入
安裝沒有什麼難度直接pip安裝就可以
pip install turtle
可使用以下3種方法引入:
二、使用
turtle庫使用起來也很簡單,主要就是利用幾個核心的控制程式碼
turtle.goto(x,y):直接跳轉到(x,y)點,以繪圖視窗中心為原點, turtle.fd(d):以當前方向,往前行進d畫素。 turtle.bk(d):保持當前方向不變,往後退行d畫素。 turtle.circle(r,angle):以r為半徑圓的angle角度旋轉。 turtle.penup():抬筆 turtle.pendown():落筆 urtle.left(angle):向左旋轉angle度。 turtle.right(angle):向右旋轉angle度。
比如繪製樹幹部分的程式碼可以這樣寫
def Tree(branch,t): time.sleep(0.0005) if branch > 3: if 6 <= branch <= 12: # if random.randint(0,2) == 0: #隨機繪製 t.color('snow') #設定顏色 else: t.color('lightcoral') # 樹葉顏色 t.pensize(branch / 3) elif branch < 6: if random.randint(0,1) == 0: t.color('snow') else: t.color('lightcoral') # t.pensize(branch / 2) else: t.color('sienna') # 赭(zhě)色 t.pensize(branch / 10) # 6 t.forward(branch) a = 1.5 * random.random() t.right(20 * a) b = 1.5 * random.random() Tree(branch - 10 * b,t) t.left(40 * a) Tree(branch - 10 * b,t) t.right(20 * a) t.up() t.backward(branch) t.down()
而寫字的部分就不用一筆一劃的去繪製,直接使用turtle.write()就可以在指定位置寫上你需要的文字。
write(arg,move=false,align='left',font=('arial',8,'normal')) #arg--將寫入Turtle繪畫螢幕的文字。 #align(可選)--“左(left)”、“中(center)”或“右(right)”之一。 #font(可選)--(fontname、fontsize、fonttype)。
那麼來看看最後效果吧!
以上就是用python繪製櫻花樹的詳細內容,更多關於python繪圖的資料請關注我們其它相關文章!