python turtle应用实例_python-turtle-一个简单实例子
Python模塊 turtle的一個(gè)簡(jiǎn)單實(shí)例----愛心發(fā)射
本質(zhì)上是對(duì)今天學(xué)習(xí)繪圖的記錄,個(gè)人記錄,個(gè)人記錄。
簡(jiǎn)單介紹turtle以及準(zhǔn)備工作
官方的就很好啦
涉及到的軟件:pycharm、git、zsh。
繪圖思想
實(shí)際上了解turtle繪圖的機(jī)制之后,繪制圖形就是一件很簡(jiǎn)單的事情了。就像是你拿著畫筆在選點(diǎn)繪線一樣,只要注意好坐標(biāo)位置。
在我的實(shí)際操作中,發(fā)現(xiàn)一個(gè)比較有趣的地方就是對(duì)心型的繪制。事實(shí)上我一開始以為是要把笛卡爾心型線給封裝進(jìn)去,搜索后發(fā)現(xiàn)大家很多都是用控制偏移來畫出心形,然后就看到一些比較有意思的畫法了。
一看就是工科生畫法hh 機(jī)械制圖還是有好處qwq
具體就是把握住 circle()會(huì)在當(dāng)前點(diǎn)左邊半徑距離開始畫圓就ok了,美中不足就是下面該是弧度,可以拿cad對(duì)應(yīng)尺寸算一下改改
心
最終結(jié)果
其實(shí)是用視頻轉(zhuǎn)出來的,鬼知道我換了幾個(gè)剪輯軟件@-@
幾個(gè)軟件推薦一下Kdenlive,我愿稱你為小pr
pacman直接就能下載
hello.gif
遇到并解決的問題
作為arch新手,連夜組好的python環(huán)境還很脆弱QAQ 在繪圖之前的工作和繪圖之后的報(bào)錯(cuò)、導(dǎo)出都是坑。來來回回花費(fèi)了將近半天時(shí)間才算是勉強(qiáng)完成。下面是可能出現(xiàn)的問題以及解決方法
記錄圖像的時(shí)候調(diào)用的tkinter模塊,會(huì)報(bào)出No module named _tkinter的錯(cuò)誤信息。問題原因可能有很多,文末鏈接一個(gè)或許有幫助的帖子。事實(shí)上上述所有的情況我都試了,還是一直報(bào)錯(cuò),就在我快要絕望的時(shí)候,我才想起來,python3里tkiter是小寫開頭,我導(dǎo)入的時(shí)候忘記改了...遂解決
關(guān)于pip list里面已經(jīng)安裝好的庫,pycharm不識(shí)別的情況。這一點(diǎn)其實(shí)很重要,涉及到python虛擬環(huán)境的情況。事實(shí)上你開創(chuàng)一個(gè)新項(xiàng)目,pycharm會(huì)給你提供一個(gè)新的獨(dú)立環(huán)境來為改項(xiàng)目服務(wù),就會(huì)產(chǎn)生兩個(gè)包環(huán)境,從離他近的那個(gè)讀取包列表。具體解決方法文末鏈接,個(gè)人認(rèn)為很透徹了,這才是一個(gè)正經(jīng)回答該有的樣子。
仍存在的問題,提供折中方法
針對(duì)arch linux :使用oh-my-zsh來配置zsh, 會(huì)和anaconda沖突。造成主題缺失、部分命令不可用的問題。這一點(diǎn)困擾了我好久,網(wǎng)上也沒有什么特別有幫助的信息。只能說自己對(duì)linux還是不夠了解,抽空擠時(shí)間好好研究一下。
在此diss一下中文社區(qū)的環(huán)境,一個(gè)答案各個(gè)平臺(tái)甚至是同平臺(tái)你抄來我抄去,圖都不帶換樣的,還沒啥實(shí)質(zhì)性幫助。為了那么點(diǎn)流量至于嗎,每次都得賊慢的去stack上面看鳥國人交流。
我臨時(shí)的方法是使用pycharm, 暫時(shí)放棄jupyter notebook(能用,但是終端太丑了我受不了嚶嚶嚶)
記錄turtle的繪圖記錄:這個(gè)也是個(gè)難纏的問題,或許windows會(huì)很好解決。
1、事實(shí)上stackoverflow上面有很完美的解決方法,遺憾的是他生成的是.eps文件而非gif。需要通過專業(yè)軟件PS、IL等再去處理。(醒醒,你是linux用戶)或許你可以通過網(wǎng)頁上的在線轉(zhuǎn)換轉(zhuǎn)來一張張gif文件,然后批量合成這些gif文件成一個(gè)gif。oh, it's terrible.
2、github上有個(gè)開源項(xiàng)目,專門寫了一個(gè)包來記錄并生成gif和視頻。你可以通過git clone的方式獲取,注意原文指導(dǎo)有一點(diǎn)歧義,執(zhí)行install文件需要在你的.git那里而非根目錄,同時(shí)需要sudo提限如果不是特意設(shè)置的話。
參考文章
注意你的python版本,或許會(huì)存在問題
事實(shí)上他不該是個(gè)問題,你需要了解你的工具。對(duì)于新手來說這是一篇非常好的文章。
很完美的解決方法,但是需要額外軟件支持
主要是想法nice, 簡(jiǎn)單實(shí)惠。
我的源碼
事實(shí)上生成gif的方法并不完善,我只放出來了繪圖部分的代碼,僅供參考
# Have a nice day!
# A pink heart for you.
import tkinter
import turtle as tl
def draw():
tl.color('black')
tl.pensize(2)
# head
tl.penup()
tl.setpos(-200, 0)
tl.pendown()
tl.circle(50)
# body
tl.right(90)
tl.forward(70)
# leg_left
tl.right(45)
tl.forward(70)
# leg_right
tl.penup()
tl.setpos(-200, -70)
tl.pendown()
tl.left(120)
tl.forward(50)
tl.right(110)
tl.forward(60)
# arm_left
tl.penup()
tl.setpos(-200, -25)
tl.pendown()
tl.setheading(270)
tl.left(90)
tl.forward(40)
tl.left(50)
tl.forward(40)
# arm_right
tl.penup()
tl.setpos(-200, -45)
tl.pendown()
tl.setheading(270)
tl.left(90)
tl.forward(40)
tl.right(50)
tl.forward(40)
# heart
tl.fillcolor("pink")
tl.begin_fill()
tl.pensize(2)
tl.pencolor("pink")
tl.penup()
tl.setpos(-70, -80)
tl.pendown()
tl.setheading(0)
tl.left(45)
tl.fd(60)
tl.circle(30, 180)
tl.right(90)
tl.circle(30, 180)
tl.fd(60)
tl.end_fill()
# eyes
tl.pensize(5)
tl.pencolor("black")
tl.penup()
tl.setheading(270)
tl.setpos(-220, 60)
tl.pendown()
tl.fd(10)
tl.penup()
tl.setheading(270)
tl.setpos(-180, 60)
tl.pendown()
tl.fd(10)
# done
tl.hideturtle()
draw()
總結(jié)
以上是生活随笔為你收集整理的python turtle应用实例_python-turtle-一个简单实例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gtp怎么安装系统_UEFI+GTP模式
- 下一篇: python开发一个彩票系统_[宜配屋]