您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何用Python的Turtle制作自己的星空”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何用Python的Turtle制作自己的星空”文章能幫助大家解決問題。
小海龜(Turtle)是Python中畫圖的一個重要的包(內置包),里面包含豐富的畫圖工具以及畫圖的各種功能,當你學會了用Turtle畫圖后,你可以畫任何你想畫的圖案哦
Turtle的畫板大小可以用turtle.screensize()函數來設置
turtle.screensize(width,height,bg):設置畫板的大小,包含長和寬,width為寬,height為高,bg為畫布顏色
Turtle的畫筆有幾個常用的函數
①turtle.penup():抬起畫筆,此時移動畫筆不會在畫布上留下痕跡哦 ②turtle.pendown():放下畫筆,與turtle.penup相對應,放下畫筆后就可以繼續畫畫了(放下畫筆后畫畫會在畫布上留下痕跡) ③turtle.pensize():控制畫筆的大小(可以根據需求自行定義畫筆的大小哦) ④turtle.pencolor():控制畫筆的顏色(可以自己在網上查閱所有python可以使用的顏色,python里面可以用的顏色有很多的哦) ⑤turtle.hideturtle():隱藏畫筆(隱藏畫筆以后畫圖時畫筆就看不到了)
在畫圖的過程中,我們經常要使用一些簡單的移動函數
①turtle.forward(x):將畫筆向前移動x個像素(x可以理解為距離) ②turtle.backward(x):將畫筆向后退x個像素(x可以理解為距離) ③turtle.left(n):將畫筆向左旋轉n度 ④turtle.right(n):將畫筆向右旋轉n度 ⑤turtle.speed():設置畫筆畫圖的速度(1~10遞增,0最快)
在畫好圖后,我們經常需要對其進行填色,這里可以用turtle.fillcolor()函數,括號里寫入你想填充的顏色即可。
在使用turtle.fillcolor()函數要注意其基本格式
turtle.beginfill() #開始填充 turtle.fillcolor() #輸入填充的顏色 turtle.endfill() #結束填充
在完成整個畫圖后,我們可以使用turtle.write()函數進行寫字
turtle.write(" ",move,align,font) ① 第一個位置雙引號內填入要寫的字 ② move(可選):在默認情況下,move為false。如果move為true,則筆將移動到右下角 ③ align(可選):可取值是left即左、center即中、right即右之一,是字符串格式 ④ font(可選):字體三元組(fontname、fontsize、fonttype),fontname即字體名稱(字符串格式,如“宋體”),fontsize即字體大小),fonttype即字體類型如:normal(普通)、bold(粗體)、italic(斜體)
簡單了解turtle小海龜后,讓我們一起來模擬星空吧!
我們將每一個星球看成一個質點,每一個質點用小海龜表示,通過克隆小海龜生成一個個星球
t=tu.Turtle(visible=False,shape='circle') t.pencolor("white") t.fillcolor("white") t.penup() t.goto(ra.randint(width/2,width),ra.randint(-height/2,height/2)) for i in range(99): star=t.clone() s=ra.uniform(0,1)/3 star.shapesize(s,s) star.speed(ra.randint(2,5)) star.setx(ra.randint(width/2,width)) star.sety(ra.randint(-height/2,height/2)) star.showturtle() stars.append(star)
通過循環來模擬星空
當每個星球從左邊消失時,我們將他從新加入右側,繼續循環
while True: for star in stars: star.setx(star.xcor()-star.speed()) if star.xcor()<-width/2: star.hideturtle() star.setx(ra.randint(width/2,width)) star.sety(ra.randint(-height/2,height/2)) star.showturtle()
關于“如何用Python的Turtle制作自己的星空”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。