少兒Python編程培訓手冊系列之——平面圖形繪製的基本思路

2020-12-11 向陽花開滿山紅

還記得我們怎樣學習開車的?

想一想,就像把大象裝冰箱需要幾步?這樣來回答問題。

第一步:學習開車基本操作——前進、後退、剎車、打開左轉向燈等;

第二步:認識地圖、路標(紅綠燈等)——在什麼路況、什麼情況下做相應的操作;

第三步:通過大量實踐練習——摸索開車技巧、規律等。

在Python中使用海龜庫(turtle)繪製平面圖形,就類似於駕馭「小海龜」汽車,遨遊在Python世界的畫布上,同樣也需要三步操作。

首先,需要掌握基本的繪圖命令和流程控制語句。比如:前進(forward)、後退(backward)、左轉(left)、右轉(right)等常用的操作命令以及條件、循環等控制結構。

其次,能夠認識地圖,根據地圖的東南西北(上下左右),來確定畫筆的行駛路線。比如:怎麼轉彎?什麼時候轉?前行或後退多少步等。這裡的地圖就是數學裡面的二維平面坐標系,以它為基礎參照進行路線規劃(分析)。

第三,在參考坐標系的基礎上,通過一定量的訓練,從而掌握繪圖的一般規律和技巧。

本文通過一個圖形的不同擺放,來分析梳理繪製平面圖形的基本思路和流程。

01二維平面坐標系

由水平和豎直兩條直線組成的平面,相交的中心點為坐標原點(0,0),平面上的任何一個點的位置都是由x軸(橫坐標)和y軸(縱坐標)上的兩個數字確定。

小海龜默認起始點在坐標原點(0,0),方向向右(0°方向)。大家要對坐標系的四個象限以及小海龜方向的指向非常熟悉。

02繪圖基礎代碼

編程中,養成良好的書寫習慣,能夠最大限度地減少代碼報錯的可能。

Python是區分大小寫的,在創建畫筆時的Pen()函數的首字母P必須大寫。所有點號和圓括號必須在英文輸入法下書寫。還有Pen()和done()以及其他的函數,單詞後面必須有一對圓括號。從專業術語來講,這些都是函數的調用部分,是語法要求必須要這樣書寫的。

切記切記!

在繪製任何一個平面圖形之前,先完成三行基礎代碼的編寫。

第一步:導入海龜庫;import turtle第二步:創建一支自己的畫筆;t=turtle.Pen()第三步:添加停止動畫效果,讓屏幕暫停; turtle.done()

然後,根據繪圖要求,在「創建」和「停止」的中間位置補充繪製需要的其他代碼即可。

03案例分享

以繪製「菱形」為例,菱形的擺放可以有如下不同的方式,假定:邊長150,內夾角為:60°、120°。

分析過程:

圖一:如果以左下角的點作為坐標原點(0,0)為繪製起點。

則可以先前行一定距離(繪製第一條邊),然後左轉彎菱形的補角(180-120=60°);繼續前行150(繪製第二條邊);再左轉120°(學會找角度規律),前行(繪製第三條邊);再左轉60°,前行(繪製第四條邊)。參考代碼如下:

答案不唯一,大家還可以思考其他的方式繪製。比如:先向左轉60°,繪製上面的直線也是可以的。

圖二:如果以最下方的點作為坐標原點(0,0)為繪製起點。應該怎麼設計路線呢?

設計路線:先左轉60°,前行;再左轉60°,前行;再左轉120°,前行,最後左轉60°,前行即可繪製完畢。參考代碼如下:

圖三:如果以最左側的點作為坐標原點(0,0)為繪製起點。它的偏移角度又該如何考慮?

設計路線:向左轉30°,前行;再右轉60°,前行;再右轉120°,前行;最後右轉60°,前行即可繪製完畢。參考代碼如下:

04小結

無論菱形怎麼擺放,以平面坐標係為參照,先確定一個起始點,分析計算圖形的運行軌跡和每次偏移角度,然後再開始繪製圖形

其他圖形的繪製也是如此設計即可。案例雖小,但需要仔細思考,掌握其繪製的核心要領。

下一節,會分享圖形繪製的一些技巧和規律。敬請關注!

相關焦點

  • 少兒Python編程培訓手冊系列之——循環結構梳理
    最經典的就是嵌套雙重循環,可以列印平面圖形。比如,可以列印一個九九乘法表。外層循環代表行數,內層循環代表每行顯示的列數。print()函數結尾處添加的end=' ' 表示該語句不換行。其他相關參考資料:少兒Python編程培訓手冊系列之——變量及輸入輸出函數少兒Python編程培訓手冊系列之——運算符和表達式少兒Python編程培訓手冊系列之——條件結構梳理
  • 少兒Python編程培訓手冊系列之——從繪製小任務構建知識層級體系
    少兒Python編程培訓手冊系列之——海龜庫基礎用法本文從繪製一顆五角星開始,逐級增加難度,學習掌握雙重嵌套循環、函數的定義及使用、以及函數與循環的完美結合——「遞歸思想」在程序中的應用。02任務二:重複不同大小的五角星如果要繪製大小不同的多顆五角星呢?如圖所示:其實就是把任務一中繪製一個五角星的代碼重複多次執行即可,只需要改變線條的長度即可。
  • 少兒Python編程培訓手冊系列之——海龜庫基礎用法
    對於少兒編程來說,最有趣的莫過於繪圖了,海龜庫模塊就是最好的也是最基礎的繪圖工具。本文整理收集匯總了一些常見的繪圖函數,結合前面系列文章的Python基礎語法知識,再加上一些經典的案例,使用「小海龜」創作就是小菜一碟了。
  • 少兒Python編程培訓手冊系列之——函數的定義及遞歸思想
    有了函數:模塊化編程,可以使代碼的層次更清晰。函數分系統函數(內置函數、內建函數)和自定義函數。01系統函數系統函數,也叫內置函數或內建函數,也就是軟體的開發人員已經定義好的函數,我們只需要拿過來使用就可以了。
  • Python基本圖形繪製
    有一隻海龜,在窗體正中間,在畫布上遊走走過的軌跡變成了圖形可以改變大小和顏色turtle繪圖窗體布局turtle的繪圖窗體turtle的一個畫布空間,最小單位為像素。turtle.right(angle),改變海龜的方向例:import turtleturtle.left(45)turtle.fd(150)turtle.right(135)turtle.fd(300)turtle.left(135)turtle.fd(150)scratch,少兒編程
  • 北京朝陽Python少兒編程培訓機構哪家靠譜?
    第2單元 當python遇上數學 6 第3單元 趣味編程 6,少兒編程的概念在教育領域開始被廣泛提及,少兒編程教育受到了市場和資本的大力追捧。在兒童素質教育的培養計劃上,編程教育被提上議程,在國內已經進入廣泛普及階段。接下來一起來看看北京朝陽Python少兒編程培訓機構哪家靠譜?
  • 鄭州金水Python少兒編程培訓班多少錢?
    課程介紹樂博樂博少兒編程Python少兒編程你了解嗎樂博樂博Python課程是基於CSTA頒布的《K-12 階段計算機科學標準》研發,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。樂博樂博Python課程優勢科學的體系樂博樂博Python課程是參考CSTA美國計算機科學教育標準,使用人工智慧時代廣泛的程式語言Python,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。適合10-13歲孩子學習編程。
  • 西安雁塔少兒編程Python10-16歲哪家好?
    課程介紹樂博樂博少兒編程Python少兒編程你了解嗎樂博樂博Python課程是基於CSTA頒布的《K-12 階段計算機科學標準》研發,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。樂博樂博Python課程優勢科學的體系樂博樂博Python課程是參考CSTA美國計算機科學教育標準,使用人工智慧時代廣泛的程式語言Python,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。適合10-13歲孩子學習編程。
  • 杭州少兒編程培訓機構哪家好?少兒編程Python語言好學嗎
    Python編程是什麼?Python編程課程是少兒編程課程學習過程中不可缺少的一部分,孩子通過Python學習能夠規範性的幫助孩子加深對少兒編程課程內容的學習。少兒編程Python語言好學嗎Python語言好學嗎我們都知道,在當下這個大數據時代,要想走在時代的前沿,就必須學習先進有用的知識。
  • 南京雨花Python少兒編程課程價格要多少?
    課程介紹樂博樂博少兒編程Python少兒編程你了解嗎樂博樂博Python課程是基於CSTA頒布的《K-12 階段計算機科學標準》研發,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。樂博樂博Python課程優勢科學的體系樂博樂博Python課程是參考CSTA美國計算機科學教育標準,使用人工智慧時代廣泛的程式語言Python,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。適合10-13歲孩子學習編程。
  • 瀋陽皇姑Python少兒編程學習班怎樣?
    課程介紹樂博樂博少兒編程Python少兒編程你了解嗎樂博樂博Python課程是基於CSTA頒布的《K-12 階段計算機科學標準》研發,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。樂博樂博Python課程優勢科學的體系樂博樂博Python課程是參考CSTA美國計算機科學教育標準,使用人工智慧時代廣泛的程式語言Python,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。適合10-13歲孩子學習編程。
  • 國文電腦學校春季招生簡章|電腦 會計 少兒編程 學歷
    學校開設的專業(初級會計、會計實操、少兒編程、OFFICE辦公自動化、電腦硬體維修、平面設計操作班、室內外裝潢班、高級行政文秘班等)理論穿插到工作實際中所從事企業管理、圖形設計專業,高級文秘、商務及財會人員之常用功能操作技巧打好專業的基礎。少兒編程通過思維導圖、流程圖的運用,及運用教學知識、結合編程,進行數學運用問題的分析和解決,建立正的計算思維習慣,培養邏輯思維能力、嚴謹性和解決問題能力。
  • 鄭州金水少兒編程Python10-16歲哪家好?
    課程介紹樂博樂博少兒編程Python少兒編程你了解嗎樂博樂博Python課程是基於CSTA頒布的《K-12 階段計算機科學標準》研發,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。樂博樂博Python課程優勢科學的體系樂博樂博Python課程是參考CSTA美國計算機科學教育標準,使用人工智慧時代廣泛的程式語言Python,採用圖形+源碼對照的編程模式,逐步讓孩子過渡到源碼編程的世界。適合10-13歲孩子學習編程。
  • 編程思維才是學習少兒編程培訓的關鍵
    「孩子需要學編程嗎?」「需要,因為有必要培養孩子的編程思維,領會這種新的思維對孩子在成長過程中遇到問題時能夠提供新思路,對於解決問題會有啟發性的意義。邏輯思維培養可以引導孩子發現問題、解決問題,以後不能保證每個人都會編程,但每個人都或多或少了解編程。所以當孩子獲取的知識多的時候就會有不一樣的廣闊天地。」
  • 廣州兒童編程培訓去哪好?少兒編程不是為了成為程式設計師
    廣州兒童編程培訓去哪好?什麼是編程思維?少兒編程有什麼好處?小碼王給大家了解一下吧~其實,計算機語言和人類語言之間有很多相似之處,學些計算機語言,其實相當於學習了一門外語。「編程思維」並不是編寫程序的技術,而是一種解決問題的思維方式。講一個棘手的複雜問題分解成一系列好解決的小問題,再把一個個小問題單獨紳審視思考。然後,聚焦幾個重要節點,形成解決思路。最受設計步驟,執行一步一步問題解決。所以,編程思維並不是編寫程序的技巧,而是一種高效的解決問題的思維方式。
  • 少兒學python編程:小學幾年級開始學編程?學哪個程式語言合適?
    大家好,歡迎學習python,本文從基礎開始,會連續寫作,喜歡的朋友可以收藏一下,在某一天用到的時候可以回來看一看。思想決定行動。看某一件事情是否需要去做,首先,要從思想上高度重視,並且從內心願意為之付出和努力。今天就來談談為什麼要學習PYthon,建議從幾歲開始學習。
  • 重慶南岸Python少兒編程課程價格
    少兒編程教育具備綜合能力,符合未來時代發展需求。少兒編程學習並不僅僅是編程知識填充,重要的是編程思維,有利於提升孩子創新意識,發現問題,結合實際發揮聯想能力,設計出更多優質的產品。>第2單元 當python遇上數學 6 第3單元 趣味編程 6
  • 使用 Python 和 GNU Octave 繪製數據 | Linux 中國
    發現新的編程風格讓我可以將一些解決方案移植到其他語言中,這樣一切都變得有趣多了。為了對一種新的程式語言(及其文檔)有所了解,我總是從編寫一些執行我熟悉的任務的示例程序開始。為此,我將解釋如何用 Python 和 GNU Octave 編寫一個程序來完成一個你可以歸類為數據科學的特殊任務。如果你已經熟悉其中一種語言,從它開始,然後通過其他語言尋找相似之處和不同之處。
  • 晉中ScratchJr少兒編程培訓
    孩子們可以利用繪圖編輯器繪製自己喜歡的角色,用麥克風錄製自己聲音,用照相機加入自己拍攝的照片。最後用積木的方法組合成程序,讓他們的角色動起來。 ScratchJr這個軟體的創作靈感來自Scratch。在全球有數以百萬計的小朋友(8歲以上)使用Scratch,是個非常受歡迎的程式語言。
  • Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解
    Python用PyQt5製作顏色對話框,PyQt圖形界面編程之QColorDialogQt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框Python用PyQt5製作彈出式輸入框,Qt圖形界面編程之QInputDialog