Python中的高級(jí)turtle作圖_第1頁(yè)
Python中的高級(jí)turtle作圖_第2頁(yè)
Python中的高級(jí)turtle作圖_第3頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PythonPythonturtle(海龜)作圖閱讀目錄一、從基本的正方形開(kāi)始二、畫星星三,畫汽車總結(jié)在 Python 里,海龜不僅可以畫簡(jiǎn)單的黑線,還可以用它畫更復(fù)雜的幾何圖形,用不同的顏色,甚至還可以給形狀填色?;氐巾敳恳弧幕镜恼叫伍_(kāi)始引入 turtle 模塊并創(chuàng)建 Pen 對(duì)象: import turtle t = turtle.Pen()前面我們用來(lái)創(chuàng)建正方形的代碼如下: t.forward(50) t.left(90) t.forward(50) t.left(90) t.forward(50) t.left(90) t,forward(50)此段代碼太長(zhǎng),我們可以用 for

2、循環(huán)進(jìn)行優(yōu)化: t.reset() for x in range(1,5): t.forward(50) t.left(90)效果如下:回到頂部二、畫星星我們只需把 for 循環(huán)做一些改動(dòng)即可,代碼如下: t.reset() for xin range(1,9):#循環(huán)八次t.forward(100)#前進(jìn)100像素t.left(225)#向左旋轉(zhuǎn)225效果如下:然而我們還可以進(jìn)一步改進(jìn),比如每次旋轉(zhuǎn) 175 度,循環(huán) 37 次,代碼如下: t.reset() for x in range(1,38): t.forward(100) t.left(175)效果如下:我們還可以畫螺旋星,代碼如下

3、: t.reset() for x in t.forward(100) t.left(95)效果如下:現(xiàn)在讓我們用 if 語(yǔ)句控制海龜?shù)霓D(zhuǎn)向來(lái)繪制不同的星星。讓海龜先轉(zhuǎn)一個(gè)角度,然后下一次轉(zhuǎn)一個(gè)不同的角度。在這里,我們先創(chuàng)建一個(gè)運(yùn)行 18 次的循環(huán)(range(1,19)),然后讓海龜向前移動(dòng) 100 個(gè)像素(t.forward(100))if語(yǔ)句(ifx%20),它的意思是:x20.x 175度(t.left(175)),否則(else)225度。代碼如下: t.reset() for x in t.forward(100)if x % 2 = 0: t.left(175)else:t.le

4、ft(225)效果如下:回到頂部三,畫汽車試著畫一輛小汽車,給自己樹(shù)立一個(gè)小目標(biāo),說(shuō)不定哪一天就實(shí)現(xiàn)了。(這段代碼新增了 color,begin_fill,end_fill,circle,setheading 函數(shù)) 車身左車輪右車輪整合后效果如下:下面來(lái)集中介紹下新增的幾個(gè)函數(shù):下面來(lái)集中介紹下新增的幾個(gè)函數(shù):1,color 是用來(lái)改變畫筆顏色的。2,begin_fill 和 end_fill 是用來(lái)給畫布上的一個(gè)區(qū)域填色的。3,circle 是用來(lái)畫一個(gè)指定大小的圓。4, setheading 讓海龜面向指定的方向。PythonPythonturtle(海龜)作圖(續(xù))閱讀目錄四、填色回到

5、頂部四、填色color 函數(shù)有三個(gè)參數(shù)。第一個(gè)參數(shù)指定有多少紅色,第二個(gè)指定有多少綠色,第三個(gè)指定有多少藍(lán)色。比如,要得到車子的亮紅色,我們用 color(1,0,0),也就是讓海龜用百分之百的紅色畫筆。RGB(Red,Green,Blue)。因?yàn)榧t綠藍(lán)是色光上的三原色,任何顏色都可以通過(guò)改變?nèi)谋戎貋?lái)調(diào)配出來(lái)。雖然我們不是在計(jì)算機(jī)屏幕上混合顏料(我們用的是光?。?,但我們可以把 RGB 方案想象成三個(gè)顏料桶,一個(gè)紅的,一個(gè)綠的和一個(gè)藍(lán)的。每個(gè)桶里都是滿的,我們可以看成滿桶的值是 1(100%)。然后把所有的紅顏料和綠顏料混在一起放在一個(gè)大缸里,這樣就產(chǎn)生了黃色。現(xiàn)在我們嘗試用海龜畫一個(gè)黃色

6、的圓,我們要用 100%的紅色和綠色顏料,不能使用藍(lán)色: 效果如下:黃色的圓1,用來(lái)畫填色圓形的函數(shù)為了更容易地用不同的顏色來(lái)試驗(yàn),我們來(lái)把畫圓填色的代碼寫成一個(gè)函數(shù): def mycircle(red,green,blue): t.color(red,green,blue) t.begin_fill()t.circle(50) t.end_fill()我們可以只用綠色來(lái)畫一個(gè)很亮的綠色的圓,如圖 A: mycircle(0,1,0)也可以用一半的綠色(0.5)來(lái)畫一個(gè)深綠色的圓,如圖 B: mycircle(0,0.5,0)A:B:2,使用純白和純黑當(dāng)天空沒(méi)有了太陽(yáng),世界就變得一切黑暗(假設(shè)

7、我們那時(shí)候還沒(méi)有發(fā)明燈)。類比,如果讓三種顏色都設(shè)置為 0,就相當(dāng)于沒(méi)有光,這時(shí)候畫出來(lái)的圖形都是黑色的;反之為 1 全為白。 mycircle(0,0,0)回到頂部五、畫正方形的函數(shù) def mysquare(size): for x in range(1,5):t.forward(size) t.left(90) mysquare(25) mysquare(50) mysquare(75) mysquare(100) mysquare(125)效果如下:回到頂部六、畫填色正方形要對(duì)正方形填色,首先要重置畫布,開(kāi)始填色,然后在調(diào)用正方形函數(shù),過(guò)程如下: t.reset() t.begin_f

8、ill() mysquare(50) t.end_fill()結(jié)束填充效果如下:我們現(xiàn)在可以改變下這個(gè)函數(shù),讓它既可以畫填好的正方形也可以畫不填色的正方形。 def mysquare(size,filled): if filled = True:t.begin_fill()for x in range(1,5): t.forward(size) t.left(90)if filled = True: t.end_fill()下面我們可以畫一個(gè)填了色的正方形: mysquare(50,True)接著畫一個(gè)沒(méi)有填色的正方形: mysquare(150,False)回到頂部七、畫填好色的星星現(xiàn)在我們要寫一個(gè) mystar 函數(shù)mystar 函數(shù)現(xiàn)在我們可以畫一個(gè)金色(90%紅色,75%綠色,0%的藍(lán)色)的星星 t.color(0.9,0.75,0) mystar(120,True)效果如下:要給星星畫上輪廓

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論