用python繪制櫻花樹
黑夜可能漫長,但總會迎來溫暖的陽光,三月如期而至,武大的櫻花又一次盛開。那么今天就一起來看看怎樣在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)。
那么來看看最后效果吧!
完整源碼:
import turtle as Timport randomimport time# 畫櫻花的軀干(60,t)def Tree(branch, t): time.sleep(0.0005) if branch > 3: if 8 <= branch <= 12: if random.randint(0, 2) == 0:t.color(’snow’) # 白 else:t.color(’lightcoral’) # 淡珊瑚色 t.pensize(branch / 3) elif branch < 8: 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()# 掉落的花瓣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(90) t.forward(a) t.down() t.color(’lightcoral’) # 淡珊瑚色 t.circle(1) t.up() t.backward(a) t.right(90) t.backward(b)# 繪圖區域t = T.Turtle()# 畫布大小w = T.Screen()t.hideturtle() # 隱藏畫筆t.getscreen().tracer(5, 0)w.screensize(bg=’wheat’) # wheat小麥t.left(90)t.up()t.backward(150)t.down()t.color(’sienna’)# 畫櫻花的軀干Tree(60, t)# 掉落的花瓣Petal(200, t)w.exitonclick()
以上就是用python繪制櫻花樹的詳細內容,更多關于python繪圖的資料請關注好吧啦網其它相關文章!
相關文章: