- Python編程與幾何圖形
- 王振世
- 733字
- 2020-05-15 16:42:33
3.3 編程知識點
(1)函數left()和right()
前面我們介紹了設置畫筆的絕對朝向函數setheading(),使用這個函數的前提是必須知道畫筆朝向與橫軸正向的夾角的準確值,否則圖形會畫亂。
有時候,我們需要畫筆在當前方向上順時針旋轉或者逆時針旋轉一個角度,這時計算畫筆朝向與橫軸正向的夾角較為困難,而使用與當前方向的夾角值計算比較容易。這就需要設置畫筆的相對朝向。
turtle庫的left()函數用來設置畫筆以當前朝向為基礎逆時針旋轉一定的角度;turtle庫的right()函數用來設置畫筆以當前朝向為基礎順時針旋轉一定的角度。
如圖3-3所示的程序代碼中,我們使用for循環(huán)畫三條邊,畫第一條邊的時候,畫筆從原點(0,0)開始沿著橫軸正向前行200像素,然后畫筆朝向逆時針旋轉120°(等邊三角形的外角為120°),開始畫第二條邊;畫筆繼續(xù)前行200像素,畫筆在當前方向的基礎上再逆時針旋轉120°,開始畫第三條邊;畫筆前行200像素后,畫筆朝向回到橫軸正向的方向上。運行這段代碼,畫筆運行的軌跡和過程如圖3-4所示。

圖3-3 逆時針畫等邊三角形的程序代碼

圖3-4 程序運行過程:逆時針畫等邊三角形
如果把上面的程序代碼中l(wèi)eft()函數改成right()函數,程序代碼如圖3-5所示,畫筆運行軌跡和過程如圖3-6所示。

圖3-5 順時針畫等邊三角形的程序代碼


圖3-6 程序運行過程:順時針畫等邊三角形
(2)函數speed()
turtle庫里的函數speed()用來設置畫筆移動速度,畫筆繪制的速度為0到10之間的整數。數字越大移動速度越快。
(3)函數done()和bye()
函數done()和bye()用來關閉和退出turtle庫,可以避免在使用完turtle庫后繼續(xù)占用計算資源和內存資源。它們不會產生任何畫圖動作,也不會有任何提示。在小的程序中不使用上述兩函數并不影響程序的運行,但在規(guī)范化的大型程序設計中,養(yǎng)成使用完某一庫后及時釋放相應計算資源和內容的習慣是非常職業(yè)化的要求。
- Cocos2d Cross-Platform Game Development Cookbook(Second Edition)
- 從零開始構建企業(yè)級RAG系統(tǒng)
- jQuery Mobile Web Development Essentials(Third Edition)
- Azure IoT Development Cookbook
- Scala Design Patterns
- JIRA 7 Administration Cookbook(Second Edition)
- 高級C/C++編譯技術(典藏版)
- 打開Go語言之門:入門、實戰(zhàn)與進階
- 代替VBA!用Python輕松實現Excel編程
- 深入實踐DDD:以DSL驅動復雜軟件開發(fā)
- Python Programming for Arduino
- 分布式架構原理與實踐
- Web編程基礎:HTML5、CSS3、JavaScript(第2版)
- 現代CPU性能分析與優(yōu)化
- Python機器學習開發(fā)實戰(zhàn)