- 利用Python輕松學數學
- 蹇彤
- 1778字
- 2021-02-26 19:37:50
3.2 笛卡兒的發明—平面直角坐標系
如果我們在圖3-1 的基礎上再增加一條豎直方向的數軸,并讓這兩條數軸垂直相交,且這兩條數軸的原點互相重合,它們的原點就是它們的交點,我們就得到了如圖3-2 所示的圖形。

圖3-2
圖3-2 所示的圖形就叫平面直角坐標系,它的發明者是法國數學家笛卡兒,笛卡兒通過這個偉大的發明把代數和幾何統一在了一起,為數學的發展提供了創新思路,這是人類數學發展史上的一次飛躍,它極大地促進了現代數學的發展。而我們本章要學習的繪圖模塊turtle,其背后的數學原理就建立在這個平面直角坐標系中。
在平面直角坐標系中,每個點都有兩個坐標,水平方向的坐標用x 來表示,豎直方向的坐標用y 來表示,這樣任何一個點P 的坐標都可以寫成:(x, y),按照數學上的規定,我們把這個點的兩個坐標寫在一對圓括號里。
在圖3-2 中,A、B、C、D、E 這5 個點的坐標分別如下:
· A 點:(1,1)
· B 點:(3,1)
· C 點:(-3,-2)
· D 點:(-2,2)
· E 點:(2,-4)
在平面直角坐標系中,坐標原點的坐標是:(0,0),即它的橫坐標和縱坐標都是零。無論是橫坐標x 還是縱坐標y,它們都可以是小數,比如(5.5, -9.5),但在使用turtle模塊畫圖時,一般情況下用到的點坐標都是整數。
本章將使用Python 自帶的IDLE 來畫圖,要使用turtle 模塊畫圖,首先需要導入turtle 模塊。
啟動IDLE(在Windows 系統中找到“開始”菜單中的Python IDLE 選項,單擊打開它;在蘋果系統中打開終端,在提示符“$”后面輸入idel 或idle3,再按回車鍵),這時可以看到IDLE 已經啟動,啟動后有兩個窗口,如圖3-3 所示。(因筆者使用的是蘋果系統,因此本書中的截圖都是在蘋果系統下的截圖,Windows 下的IDLE 窗口與此類似,差別不大。)

圖3-3
我們可以看到,IDLE 啟動后會有兩個窗口,圖3-3 中大的窗口中有Python 的提示符“>>>”,其中還顯示了筆者使用的Python 的版本號是3.7.3,小的那個窗口不要關閉它,它表示正在運行IDLE,我們可以把它最小化,這樣不妨礙我們進行其他操作,也可以使用鼠標拖曳和改變大的窗口在屏幕上的位置和大小。
如果忘記了IDLE 的基本操作,可以復習一下第1 章的內容。下面來畫一條水平的直線。
在Python 的提示符“>>>”后面輸入:import turtle,再按回車鍵,表示引入了turtle 繪圖模塊,如果IDLE 沒有報錯,就是正常的,如圖3-4 所示。如果報錯,說明你的Python 中沒有turtle 模塊,這種情況很少,因為它是Python 自帶的一個模塊,當Python 安裝好后一般就有turtle 了,如果報錯,則可能需要重新在Python 的官網下載并安裝最新版本的Python。
再輸入:turtle.showturtle(),就會出現一個新窗口,如圖3-5 所示。這個窗口就是turtle 的畫布窗口,我們就是在一個畫布窗口中用代碼編程來畫畫的,這個窗口中有一個小的黑色箭頭,它表示畫筆,它默認的方向是指向右邊的,和我們平時使用鉛筆在紙上畫圖不同,但使用代碼編程畫圖時,我們需要隨時關注這個畫筆箭頭所指向的方向。

圖3-4

圖3-5
不要關閉這個畫布窗口,用鼠標單擊有“>>>”符號的那個窗口,然后在符號“>>>”的后面輸入:turtle.forward(150),按回車鍵就會看到畫布窗口中畫出了一條水平方向長度為150 像素的直線,如圖3-6 所示。

圖3-6
下面來看一下這3 條Python 命令的含義:
· import turtle:引入畫圖模塊turtle,這個不能少,否則無法畫圖。
· turtle.showturtle():顯示出turtle 的畫圖箭頭,默認位于畫布的中心點。
· turtle.forward(150):讓當前的畫圖箭頭前進150 像素的長度。
海龜模塊turtle 中有很多畫圖的命令,這些命令的書寫格式如下:

turtle 和命令之間通過一個英文句點來連接,命令的后面都要跟上一對英文的圓括號,圓括號里是畫圖的參數,有的畫圖命令不需要任何參數,但圓括號不能省略,有的畫圖命令需要一個或多個參數,上面的第二條命令就是showturtle,表示顯示出畫圖箭頭,第三條命令是forward,圓括號里的參數是150,表示讓畫圖箭頭前進的長度為150 像素。像素是計算機顯示器中一個非常小的點,計算機顯示器所顯示的各種絢麗多彩的圖片其實都是由成千上萬個這樣的像素點組成的,作為編程初學者,我們理解到這一步就可以了。
通過上面這個非常簡單的例子,我們可以歸納使用turtle 模塊畫圖的步驟。
(1) 打開IDLE,引入turtle 模塊。
(2) 對于要畫出的圖形,無論是簡單還是復雜,都需要事先規劃好。
(3) 使用turtle 模塊提供的各種繪圖命令設置必要的繪圖參數,讓它們執行即可。
顯然,這種一邊想一邊畫的方法非常低效,如果畫錯了,糾正起來也比較麻煩,更好的辦法是先在紙上設計和構思想畫的圖形,必要時可以打畫圖草稿,再使用turtle中的繪圖命令,把這些命令寫入一個繪圖的Python 文件中,保存后再執行,就是第1 章所說的編寫好程序文件再執行的方式。