用Python的Turtle制作自己的星空
前言
Python模擬星空,你值得擁有!uu們一周不見啦,本周博主參考網(wǎng)上大佬們的星空,給大家?guī)砹藢儆谧约旱男强?,快來看看吧~
Turtle基礎(chǔ)
小海龜(Turtle)是Python中畫圖的一個重要的包(內(nèi)置包),里面包含豐富的畫圖工具以及畫圖的各種功能,當你學會了用Turtle畫圖后,你可以畫任何你想畫的圖案哦
1.1 Turtle畫板
Turtle的畫板大小可以用turtle.screensize()函數(shù)來設(shè)置
turtle.screensize(width,height,bg):設(shè)置畫板的大小,包含長和寬,width為寬,height為高,bg為畫布顏色
1.2 Turtle畫筆
Turtle的畫筆有幾個常用的函數(shù)
①turtle.penup():抬起畫筆,此時移動畫筆不會在畫布上留下痕跡哦 ②turtle.pendown():放下畫筆,與turtle.penup相對應(yīng),放下畫筆后就可以繼續(xù)畫畫了(放下畫筆后畫畫會在畫布上留下痕跡) ③turtle.pensize():控制畫筆的大小(可以根據(jù)需求自行定義畫筆的大小哦) ④turtle.pencolor():控制畫筆的顏色(可以自己在網(wǎng)上查閱所有python可以使用的顏色,python里面可以用的顏色有很多的哦) ⑤turtle.hideturtle():隱藏畫筆(隱藏畫筆以后畫圖時畫筆就看不到了)
1.3 Turtle畫圖
在畫圖的過程中,我們經(jīng)常要使用一些簡單的移動函數(shù)
①turtle.forward(x):將畫筆向前移動x個像素(x可以理解為距離) ②turtle.backward(x):將畫筆向后退x個像素(x可以理解為距離) ③turtle.left(n):將畫筆向左旋轉(zhuǎn)n度 ④turtle.right(n):將畫筆向右旋轉(zhuǎn)n度 ⑤turtle.speed():設(shè)置畫筆畫圖的速度(1~10遞增,0最快)
1.4 Turtle填色
在畫好圖后,我們經(jīng)常需要對其進行填色,這里可以用turtle.fillcolor()函數(shù),括號里寫入你想填充的顏色即可。
在使用turtle.fillcolor()函數(shù)要注意其基本格式
turtle.beginfill() #開始填充 turtle.fillcolor() #輸入填充的顏色 turtle.endfill() #結(jié)束填充
1.5 Turtle寫字
在完成整個畫圖后,我們可以使用turtle.write()函數(shù)進行寫字
turtle.write(" ",move,align,font) ① 第一個位置雙引號內(nèi)填入要寫的字 ② move(可選):在默認情況下,move為false。如果move為true,則筆將移動到右下角 ③ align(可選):可取值是left即左、center即中、right即右之一,是字符串格式 ④ font(可選):字體三元組(fontname、fontsize、fonttype),fontname即字體名稱(字符串格式,如“宋體”),fontsize即字體大?。?,fonttype即字體類型如:normal(普通)、bold(粗體)、italic(斜體)
模擬星空
簡單了解turtle小海龜后,讓我們一起來模擬星空吧!
模擬星球
我們將每一個星球看成一個質(zhì)點,每一個質(zhì)點用小海龜表示,通過克隆小海龜生成一個個星球
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)
浪漫星空
通過循環(huán)來模擬星空
當每個星球從左邊消失時,我們將他從新加入右側(cè),繼續(xù)循環(huán)
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()
到此這篇關(guān)于用Python的Turtle制作自己的星空的文章就介紹到這了,更多相關(guān)Python Turtle制作星空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python 模擬實現(xiàn)生產(chǎn)者消費者模式的實例
這篇文章主要介紹了詳解Python 模擬實現(xiàn)生產(chǎn)者消費者模式的實例的相關(guān)資料,這里使用了線程知識,隊列知識及循環(huán)的知識,需要的朋友可以參考下2017-08-08Python正則表達式中g(shù)roup與groups的用法詳解
本文主要介紹了Python正則表達式中g(shù)roup與groups的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02詳解OpenCV中直方圖,掩膜和直方圖均衡化的實現(xiàn)
這篇文章主要為大家詳細介紹了OpenCV中直方圖、掩膜、直方圖均衡化詳細介紹及代碼的實現(xiàn),文中的示例代碼講解詳細,需要的可以參考一下2022-11-11如何將自己的python代碼發(fā)布在pip install給別人使用你知道嗎
這篇文章主要介紹了python如何發(fā)布自已的pip項目,方便大家學習,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-08-08