Python繪圖工具turtle庫的使用


#PythonDraw.py
import turtle   #引入了一個繪圖庫(海歸庫)
turtle.setup(650,350,200,200)       #設置一個窗體
turtle.penup()      #將畫筆抬起
turtle.fd(-250)     #讓海龜倒退行進250個像素點,由於海龜處於飛起狀態畫布不留效果
turtle.pendown()    #將畫筆放下
turtle.pensize(25)      #設置畫筆的寬度為25個像素
turtle.pencolor("purple")       #畫筆顏色設為purple
turtle.seth(-40)        #將海龜方向改為絕對的-40度方向
for i in range(4):      #循環4次繪制蟒蛇半徑為40個像素角度分別為80度和-80度
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()       #程序運行后不會自動退出需要手動關閉窗口,去掉這條語句程序運行結束會自動退出

 

一、turtle基本情況

  turtle(海歸)庫是turtle繪圖體系的Python實現

  -turtle繪圖體系:1969年誕生,主要用於程序設計入門

  -Python語言的標准庫之一

    Python計算生態 = 標准庫 + 第三方庫

    標准庫:隨解釋器直接安裝到操作系統中的功能模塊

    第三方庫:需要經過安裝才能使用的功能模塊

  -入門級的圖形繪制函數庫

二、turtle繪圖窗體布局

  turtle.setup(width,heigth,startx,starty)

    startx、starty不給值默認在正中心

  -setup()設置窗體大小及位置

  -4個參數中后兩個可選

  -setup()不是必須的

三、turtle空間坐標體系

  1、絕對坐標

    海龜剛開始位於畫布的正中間坐標為(0,0)

    

    turtle.goto(x,y)  #海龜從當前位置位移到(x,y)

  2、海龜坐標體系

    從海龜自身運動來講它看到的是什么樣的,對於海龜來講它的當前行進方向無論是朝向哪個角度都叫前進方向,反方向是后退方向。

    turtle.fd(d)  #向海龜的正前方向運行

    turtle.bk(d)  #向海龜的反方向運行

      參數d為移動像素數

    turtle.circle(r,angle)  #以海龜當前位置左側的某一個點為圓心進行曲線運行

四、turtle的角度坐標體系

  1、絕對角度

  turtle.seth(angle)

    -seth()改變海龜進行方向

    -seth()只改變方向但不行進不繪制任何信息

    -angle 為絕對度數

  2、海龜角度

    turtle.left(angle)  #向左改變angle角度

    turtle.right(angle)  #向右改變angle角度

五、RGB色彩體系

  由三種顏色構成的萬物色

  -RGB指紅藍綠三個通道的顏色組合

  -覆蓋視力所能感知的顏色組合

  -RGB每色取值范圍0-255或0-1小數

  常見RGB色彩

  1、默認采用小數值,可切換為整數值

    turtle.colormode(mode)

    -1.0:RGB小數值模式

    -255:RGB整數值模式

六、庫引用

  擴充Python程序功能的方式

  1、-使用import保留字完成,采用<a>.<b>()編碼風格

    import <庫名>

    <庫名>.<函數名>(<函數參數>)

   2、-使用from和import保留字共同完成

    from <庫名>import<函數名>

    from <庫名> import*   #使用這兩種方式在調用函數時就不需要加庫名了,直接用函數名加參數調用。

    <函數名>(<函數參數  >)

  使用第一種方法不會出現函數重名的問題,第二種方法可能會出現函數名與程序員自定義的函數重名的問題。

  3、-使用import和as保留字共同完成(這種方法代碼量較少也防止了函數重名的情況)

    import<庫名>as<庫別名>

    <庫別名>.<函數名>(<函數參數>)

    -給調用的外部庫關聯一個更短、更適合自己的名字對編寫程序來講會帶來很多的便利。

七、turtle畫筆控制函數

  畫筆操作后一直有效,一般成對出現

  -turtle.penup()    別名  turtle.pu()  #抬起畫筆,不在畫布上形成圖案

  -turtle.pendown()   別名  turtle.pd()  #放下畫筆,在畫布上形成圖案

  -turtle.pensize(width)  別名  tutle.width(width)  #畫筆寬度 

  -turtle.pencolor(color)   #畫筆顏色  color為顏色字符串或r,g,b值

    -顏色字符串:  turtle.pencolor("purple")  #函數參數為字符串類型且為小寫

    -RGB的小數值:  turtle.pencolor(0.63,0.13,0.94)

    -RGB的元組值: turtle.pencolor((0.63,0.16,0.94))

八、turtle運動控制函數

  控制海龜行進方向:走直線或者走曲線

  -turtle.forward(d)      別名   turtle.fd(d)

    向前行進,海龜走直線

  -d:行進距離,可以為負數

  -turtle.circle(r,extent=None)

    根據半徑r繪制extend角度的弧形

  -r:半徑,默認圓心在海龜左側r距離的位置

  -extend:繪制角度,默認是360度整圓

九、turtle方向控制函數

  控制海龜面對方向:絕對角度和海龜角度  

  1、絕對角度

    -turtlr.sethending(angle)  別名  turtle.seth(angle)

      改變行進方向,海龜前進的角度

    -angle:將海龜當前方向改變為某一個絕對角度 

  2、海龜角度

    -turtle.left(angle)  #海龜向左轉

    -turtle.right(angle)  #海龜向右轉

    -angle:在海龜當前方向上向左或者向右旋轉的角度

  注意:方向控制函數只改變海龜行進方向並不在畫布上留下痕跡,如果需要海龜行動需要調用運動控制函數。

十、循環語句與range()函數

  循環語句指按一定次數循環執行的一組語句

  常用的方式

    for <變量> in range(<參數>)    #range的參數就是循環的次數

      <被循環執行的語句>

  -<變量>表示每次循環的計數,0到<次數>-1

    for i in range(5)

      print("Hello:",i)     #print輸出語句加,可以輸出空格

  '''輸出

    Hello: 0

    Hello: 1

    Hello: 2

    Hello: 3

    Hello: 4  '''

  range( ) 函數

  產生循環計數序列的函數

  -range(N)

  產生0到N-1的整數序列,共N個

  -range (M,N)

  產生從M到N-1的整數序列,共N-M個


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM