人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Python繪圖操作之turtle庫(kù)烏龜繪圖全面整理

發(fā)布日期:2021-12-26 05:17 | 文章來(lái)源:腳本之家

【函數(shù)表格整理在最下方】

官方文檔網(wǎng)址

turtle

繪圖窗口

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

參數(shù):width, height: 輸入寬和高為整數(shù)時(shí), 表示像素; 為小數(shù)時(shí), 表示占據(jù)電腦屏幕的比例,(startx, starty): 這一坐標(biāo)表示矩形窗口左上角頂點(diǎn)的位置, 如果為空,則窗口位于屏幕中心。

  • setup設(shè)置窗體大小和位置
  • 4個(gè)參數(shù)中后兩個(gè)可選(默認(rèn)居中)
  • setup()不是必須的

turtle.screensize(canvwidth=None, canvheight=None, bg=None)

參數(shù)分別為畫布的寬(單位像素), 高, 背景顏色。

如:turtle.screensize(800,600, “green”)

​ turtle.screensize() #返回默認(rèn)大小(400, 300)

空間坐標(biāo)體系

絕對(duì)坐標(biāo)

【demo】

import turtle
turtle.goto(100, 100)
turtle.goto(100, -100)
turtle.goto(-100, -100)
turtle.goto(-100, 100)
turtle.goto(0, 0)

海龜坐標(biāo)

turtle.fd(d)

turtle.bk(d)

turtle.circle(r, angle)(以海龜為中心,向左轉(zhuǎn))

角度坐標(biāo)體系

絕對(duì)角度

turtle.seth(angle)

  • seth()改變海龜行進(jìn)方向
  • seth()只改變方向不行進(jìn)
  • angle 絕對(duì)度數(shù)

在這樣基礎(chǔ)上,繼續(xù)turtle.fd(d)

海龜角度

turtle.left(angle)

turtle.right(angle)

【demo】

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
turtle.done()

RGB色彩體系

每色取值范圍0-255整數(shù)或者0-1小數(shù)。

turtle庫(kù)默認(rèn)采用RGB小數(shù)值,可以使用turtle.colormode(mode)可切換。

  • 1.0: RGB小數(shù)值
  • 255:RGB整數(shù)值

color參數(shù)的三種形式

  • 顏色字符串 turtle.pencolor("purple")
  • RGB的小數(shù)值:turtle.pencolor(0.63, 0.13, 0.94)
  • RGB的元組值:turtle.pencolor((0.63, 0.13, 0.94))

畫筆控制函數(shù)

把海龜想象成畫筆,畫筆操作后一直有效,一般成對(duì)出現(xiàn)。

  • turtle.penup() 別名:turtle.pu()

將畫筆抬起,海龜在飛行。

  • turtle.pendown() 別名:turtle.pd()

落下畫筆,海龜落下。

  • turtle.pensize(width) 別名:turtle.width(width)

畫筆寬度,海龜?shù)难鼑?/p>

  • turtle.pencolor(color) color為顏色字符串 或 r,g,b值

畫筆顏色,海龜在涂裝

  • turtle.speed(speed),設(shè)置畫筆移動(dòng)速度,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大越快。
  • turtle.fillcolor(colorstring)繪制圖形的填充顏色
  • turtle.hideturtle() 隱藏畫筆的turtle形狀
  • turtle.showturtle() 顯示畫筆的turtle形狀

運(yùn)動(dòng)控制函數(shù)

  • 走直線:turtle.forward(d) 別名 turtle.fd(d)

d的單位是像素,向前行進(jìn),海龜走直線。

d是行進(jìn)距離,可以是負(fù)數(shù)。

  • turtle.backward(distance)向當(dāng)前畫筆相反方向移動(dòng)distance像素長(zhǎng)度
  • 走曲線:turtle.circle(r, extent = None)

根據(jù)半徑r繪制extent角度(默認(rèn)360)的弧形

圓心默認(rèn)在海龜左手側(cè),如果r是負(fù)的,圓心在海龜右側(cè)。

  • dot(r) 繪制一個(gè)指定直徑和顏色的圓點(diǎn)

方向控制函數(shù)

只改變行進(jìn)方向,不會(huì)改變路線。

分為絕對(duì)角度和海龜角度。

  • turtle.setheading(angle) 別名 turtle.seth(angle)

改變行進(jìn)方向,海龜走角度(改變絕對(duì)角度)

  • turtle.left(angle) 海龜向左轉(zhuǎn)
  • turtle.right(angle)海龜向右轉(zhuǎn)

全局控制命令

  • turtle.clear()清空turtle窗口,但是turtle的位置和狀態(tài)不會(huì)改變
  • turtle.reset() 清空窗口,重置turtle狀態(tài)為起始狀態(tài)
  • turtle.undo() 撤銷上一個(gè)turtle動(dòng)作
  • turtle.isvisible() 返回當(dāng)前turtle是否可見(jiàn)
  • turtle.write(s [,font=("font-name",font_size,"font_type")])寫文本,s為文本內(nèi)容,font是字體的參數(shù),分別為字體名稱,大小和類型;font為可選項(xiàng),font參數(shù)也是可選項(xiàng)

示例

蟒蛇繪制

【demo】

import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
 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()

七段數(shù)碼管日期顯示

import turtle
import time
def drawGap(): # 繪制數(shù)碼管間隔
 turtle.penup()
 turtle.fd(5)
def drawLine(draw):  # 繪制單線
 drawGap()
 turtle.pendown() if draw else turtle.penup()
 turtle.fd(40)
 drawGap()
 turtle.right(90)
def drawDigit(digit): # 繪制單個(gè)數(shù)字
 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
 drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
 drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
 drawLine(True) if digit in [0,2,6,8] else drawLine(False)
 turtle.left(90)
 drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
 drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
 drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
 turtle.left(180)
 turtle.penup()
 turtle.fd(20)
def drawData(date):
 turtle.pencolor("red")
 for i in date:
  if i == '-':
turtle.write("年", font=("Arial", 18, "normal"))
turtle.pencolor("green")
turtle.fd(40)
  elif i == '=':
turtle.write("月", font=("Arial", 18, "normal"))
turtle.fd(40)
  elif i == '+':
turtle.write("日", font=("Arial", 18, "normal"))
  else:
drawDigit(eval(i))
def main():
 turtle.setup(800,350,200,200)
 turtle.penup()
 turtle.fd(-300)
 turtle.pensize(5)
 turtle.color("purple")
 drawData(time.strftime("%Y-%m=%d+", time.gmtime()))
 turtle.hideturtle()
 turtle.done()
main()

太陽(yáng)花

import turtle
import time
 
# 同時(shí)設(shè)置pencolor=color1, fillcolor=color2
turtle.color("red", "yellow")
 
turtle.begin_fill()
for _ in range(50):
turtle.forward(200)
turtle.left(170)
turtle.end_fill()
turtle.mainloop()

庫(kù)函數(shù)表格整理

畫筆運(yùn)動(dòng)命令

turtle.forward(distance)

向當(dāng)前畫筆方向移動(dòng)distance像素長(zhǎng)度

turtle.backward(distance)

向當(dāng)前畫筆相反方向移動(dòng)distance像素長(zhǎng)度

turtle.right(degree)

順時(shí)針移動(dòng)degree°

turtle.left(degree)

逆時(shí)針移動(dòng)degree°

turtle.pendown()

移動(dòng)時(shí)繪制圖形,缺省時(shí)也為繪制

turtle.goto(x,y)

將畫筆移動(dòng)到坐標(biāo)為x,y的位置

turtle.penup()

提起筆移動(dòng),不繪制圖形,用于另起一個(gè)地方繪制

turtle.circle()

畫圓,半徑為正(負(fù)),表示圓心在畫筆的左邊(右邊)畫圓

setx( )

將當(dāng)前x軸移動(dòng)到指定位置

sety( )

將當(dāng)前y軸移動(dòng)到指定位置

setheading(angle)

設(shè)置當(dāng)前朝向?yàn)閍ngle角度

home()

設(shè)置當(dāng)前畫筆位置為原點(diǎn),朝向東。

dot®

繪制一個(gè)指定直徑和顏色的圓點(diǎn)

畫筆控制命令

turtle.fillcolor(colorstring)

繪制圖形的填充顏色

turtle.color(color1, color2)

同時(shí)設(shè)置pencolor=color1, fillcolor=color2

turtle.filling()

返回當(dāng)前是否在填充狀態(tài)

turtle.begin_fill()

準(zhǔn)備開始填充圖形

turtle.end_fill()

填充完成

turtle.hideturtle()

隱藏畫筆的turtle形狀

turtle.showturtle()

顯示畫筆的turtle形狀

全局控制命令

turtle.clear()

清空turtle窗口,但是turtle的位置和狀態(tài)不會(huì)改變

turtle.reset()

清空窗口,重置turtle狀態(tài)為起始狀態(tài)

turtle.undo()

撤銷上一個(gè)turtle動(dòng)作

turtle.isvisible()

返回當(dāng)前turtle是否可見(jiàn)

stamp()

復(fù)制當(dāng)前圖形

turtle.write(s [,font=(“font-name”,font_size,“font_type”)])

寫文本,s為文本內(nèi)容,font是字體的參數(shù),分別為字體名稱,大小和類型;font為可選項(xiàng),font參數(shù)也是可選項(xiàng)

其他命令

turtle.mainloop()或turtle.done()

啟動(dòng)事件循環(huán) -調(diào)用Tkinter的mainloop函數(shù)。

必須是烏龜圖形程序中的最后一個(gè)語(yǔ)句。

turtle.delay(delay=None)

設(shè)置或返回以毫秒為單位的繪圖延遲。

turtle.begin_poly()

開始記錄多邊形的頂點(diǎn)。當(dāng)前的烏龜位置是多邊形的第一個(gè)頂點(diǎn)。

turtle.end_poly()

停止記錄多邊形的頂點(diǎn)。當(dāng)前的烏龜位置是多邊形的最后一個(gè)頂點(diǎn)。將與第一個(gè)頂點(diǎn)相連。

turtle.get_poly()

返回最后記錄的多邊形。

到此這篇關(guān)于Python繪圖操作之turtle庫(kù)烏龜繪圖全面整理的文章就介紹到這了,更多相關(guān)Python turtle庫(kù)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部