您好,登錄后才能下訂單哦!
這篇文章主要介紹了python如何使用Turtle庫畫畫寫名字,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Turtle
庫是Python
語言中一個很流行的繪制圖像的函數(shù)庫,利用這個庫會生成一個畫布,在畫布中有我們看不見的一個默認以中心點為原點的坐標軸,在原點會有一個初始默認朝東的畫筆(箭頭),一般我們把這個箭頭叫做海龜,箭頭的朝向就是海龜頭的朝向。
這個動圖展示的就是我利用Turtle庫畫的一個名字畫,下面附上代碼:
import time import turtle from random import random t = turtle t.speed(3) t.hideturtle() t.color('black') t.pensize(10) # 一 t.penup() t.goto(-110, 60) t.pendown() t.forward(100) # | t.penup() t.goto(-60, 125) t.right(90) t.pendown() t.forward(266) # 丿 t.penup() t.goto(-60, 45) t.right(45) t.pendown() t.forward(90) # 丶 t.penup() t.goto(-60, 38) t.left(90) t.pendown() t.forward(40) # 小一 t.penup() t.goto(20, 60) t.left(45) t.pendown() t.forward(90) # | t.penup() t.goto(65, 123) t.right(90) t.pendown() t.forward(123) # 大一 t.penup() t.goto(0, -5) t.left(90) t.pendown() t.forward(130) # 小一 t.penup() t.goto(20, -65) t.pendown() t.forward(90) # | t.penup() t.goto(65, -14) t.right(90) t.pendown() t.forward(120) # 大一 t.penup() t.goto(0, -135) t.left(90) t.pendown() t.forward(130) # 畫圓 t.color('red') t.pensize(3) t.penup() t.goto(15, -200) t.pendown() t.circle(180) t.exitonclick()
函數(shù) | 解釋 |
hideturtle | 隱藏畫筆 |
speed | 畫筆速度,1-10,1最慢,10最快 |
color | 后可傳參(2個參數(shù)),不傳為默認設置,第一個參數(shù)為畫筆顏色,第二個參數(shù)為填充顏色 |
pensize | 畫筆粗細,越大越粗 |
penup | 畫筆拿起,之后畫筆運動時不畫下軌跡 |
pendown | 默認是這個狀態(tài),畫筆落下,之后畫筆運動會畫出軌跡 |
forward(num) | 畫筆運動,num為運動像素數(shù),即長度 |
right (a) | 畫筆方向向右旋轉(zhuǎn)a角度,順時針旋轉(zhuǎn) |
left(a) | 畫筆方向向左旋轉(zhuǎn)a角度,逆時針旋轉(zhuǎn) |
goto(x,y) | 將畫筆移動到坐標軸x,y位置,在pendowm下會畫下軌跡 |
goto(x,y) | 將畫筆移動到坐標軸x,y位置,在pendowm下會畫下軌跡 |
circle(a) | 以當前點為圓心,畫一個半徑為a的圓 |
exitonclick | 點擊關(guān)閉,畫筆運行完不再自動退出畫布 |
下面是在論壇看到的一個大佬的畫櫻花樹的代碼,生成的結(jié)果比上面的復雜很多,但在弄懂我上面代碼的情況下很容易看懂,作為進階給大家展示下:
import turtle as T import random import 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) # 繪圖區(qū)域 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()
這個代碼除了用到我上面介紹的幾個函數(shù),還用到了screen
和bgcolor
,分別是設置畫布和背景色,backward
就是反向的forward
。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“python如何使用Turtle庫畫畫寫名字”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。