turtle庫筆記


         turtle庫是學習python的一個重要數據庫,在當下是一個很有趣流行的繪制圖像的數據庫,她把畫筆想象為一只小烏龜在爬行,讓小烏龜在一個以橫軸為x,縱軸為y的畫布上行駛,並且會有多樣的行駛角度,速度,形態等等。

turtle庫的基礎知識

2.1繪圖坐標體系

1.創建畫布

          畫布即主窗體,即運行程序時打開的turtle繪畫窗口,可設置大小和位置。

          設置畫布大小:

          代碼:turtle.setup(width,height,startx,starty)

          #注釋:width(窗口寬度),height(窗口高度),startx(窗口左側與屏幕左側的像素距離),starty(窗口頂部與屏幕頂部的像素距離),width和height如值為整數,表示像素值;若為小數,表示窗口寬度與屏幕的比例。

2.2.畫筆控制函數

         turtle中的畫筆(即小烏龜)可以通過一組函數來控制。

         代碼:turtle.penup()   #抬起畫筆,之后移動畫筆distance距離不繪制形狀,disdance距離即fd(disdance)里的距離

                  turtle.pendown()   #落下畫筆,之后移動畫筆將繪制形狀

2.3 畫筆屬性

turtle.pensize()函數

           用於設置畫筆尺寸。

           代碼:turtle.pensize(width)     #width即設置的畫筆線條寬度,如果為空或None,則函數返回turtle庫的畫筆默認值

turtle.pencolor()函數

           設置畫筆顏色。

           代碼:turtle.pencolor(“colorstring”)      #colorstring表示顏色的字符串

                      turtle.pencolor((r,g,b))             #(r,g,b)為顏色對應的RGB數值;

turtle.speed()函數

           設置畫筆移動速度,

2.4 形狀繪制函數

turtle.fd()函數

         作用:用於控制畫筆向前進方向前進一個距離

         代碼:turtle.fd(distance)      #小烏龜當前行進方向前進distance距離。distance:行進距離的像素值,若為負數,表示向相反方向前進

turtle.seth()函數

         作用:用於改變畫筆繪制方向。

         代碼:turtle.seth(angle)         #angle為角度的整數值

 

 

 

 

     

 

 turtle.right()函數和turtle.left函數()

          作用:改變畫筆左右繪制方向

          turtle.right(angle)    #順時針移動angle

          turtle.left(angle)      #逆時針移動angle 

          代碼如下圖:

from turtle import *
pensize(10)
pencolor("red")
fd(100)
right(150)
fd(100)
left(80)
fd(100)

執行程序:

         

turtle.circle()函數

           作用:用於繪制一個弧形

 

           turtle.circle(radius,extent)         #radius為弧形半徑,當值為正時,逆時針走,半徑在小海龜左側;當值為負時,順時針走,半徑在小海龜右側

                                                           #extent為繪制弧形的角度,當不設置參數或為None時,繪制整個圓形

          代碼如下圖:

from turtle import *
pensize(10)
pencolor("red")
circle(50,80)
circle(-50,80)

執行程序

2.5 其他繪圖函數

 

2.6 繪圖舉例

import turtle
turtle.left(90)
for i in range(33):
   turtle.fd(5+5*i)
   turtle.left(90)
   turtle.fd(5+5*i)
   turtle.left(90)

 


免責聲明!

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



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