1. 基本概念
- turtle是“海龜”的意思,可以想象一只小海龜尾巴蘸著墨水在畫圖,屏幕坐標(biāo)系坐標(biāo)原點(diǎn)在左上角,用于設(shè)置窗口大小和位置;空間坐標(biāo)系的坐標(biāo)原點(diǎn)在窗口中央,分為四個(gè)象限,相當(dāng)于畫布
-
turtle是標(biāo)準(zhǔn)庫(kù)
import turtle → turtle.forward()
import turtle as t → t.forward()
from turtle import forward, backward → forward()
from turtle import * → forward()
2. 語(yǔ)法
-
畫布screen
-
簡(jiǎn)介:畫布就是用于繪圖的區(qū)域, 可以設(shè)置大小和初始位置,類似于前端的canvas和javafx的pane/scene/stage
注:python并沒有區(qū)分stage(窗口)、scene(場(chǎng)景)、pane(面板),若區(qū)分,則畫布相當(dāng)于pane -
設(shè)置畫布大小
-
方法一:
turtle.screensize(canvaswidth=none,canvasheight=none,bg=none)
turtle.screensize(800,600,“green”) -
方法二(推薦):
- width, height: 輸入寬和高為整數(shù)時(shí), 表示像素; 為小數(shù)時(shí), 表示占據(jù)電腦屏幕的比例
- (startx, starty): 這一坐標(biāo)表示 矩形窗口左上角頂點(diǎn)的位置, 如果為空,則窗口位于屏幕中心
turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
turtle.setup(width=0.6, height=0.6)
turtle.setup(width=800, height=800, startx=100, starty=100)
turtle.setup(800, 800, 100, 100)
-
方法一:
-
簡(jiǎn)介:畫布就是用于繪圖的區(qū)域, 可以設(shè)置大小和初始位置,類似于前端的canvas和javafx的pane/scene/stage
-
畫筆pen
- 屬性
-
畫筆開始在畫布中央,即默認(rèn)小海龜開始作畫的地方是在畫布中央,面朝x軸正方向,以下函數(shù)參數(shù)空白時(shí)返回默認(rèn)值
turtle.pensize() #設(shè)置pen寬度,默認(rèn)1px
turtle.pencolor() #設(shè)置pen顏色,rgb/“green”,默認(rèn)black
turtle.speed(speed) :設(shè)置畫筆移動(dòng)速度,范圍[0,10]整數(shù),正相關(guān),默認(rèn)3
-
坐標(biāo)系
屏幕坐標(biāo)系、空間坐標(biāo)系、絕對(duì)角度坐標(biāo)系(seth())、海龜角度坐標(biāo)系(left()/right())
- 繪圖命令——運(yùn)動(dòng)命令+畫筆控制命令+全局控制命令
運(yùn)動(dòng)命令 說(shuō)明 別名 turtle.forward(distance) 向當(dāng)前畫筆方向移動(dòng)distance像素長(zhǎng) turtle.fd(distance) turtle.backward(distance) 向當(dāng)前畫筆相反方向移動(dòng)distance像素長(zhǎng)度 turtle.bd(distance) turtle.seth(degree) 逆時(shí)針移動(dòng)degree° turtle.right(degree) 順時(shí)針移動(dòng)degree° turtle.left(degree) 逆時(shí)針移動(dòng)degree° turtle.penup() 移動(dòng)時(shí)不繪制圖形,提起筆,用于另起一個(gè)地方繪制時(shí)用 turtle.pu() turtle.pendown() 移動(dòng)時(shí)繪制圖形,缺省時(shí)也為繪制 turtle.pd() turtle.goto(x,y) 將畫筆移動(dòng)到坐標(biāo)為x,y的位置 turtle.speed(speed) 畫筆繪制的速度范圍[0,10]整數(shù) turtle.circle(r,angle) 畫弧,angle參數(shù)可選,默認(rèn)360°,即圓,半徑為正(負(fù)),表示圓心在畫筆的左邊(右邊)畫圓 畫筆控制命令 說(shuō)明 turtle.pensize(width) 繪制圖形時(shí)的寬度 turtle.pencolor() 畫筆顏色 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.showturtle() 與hideturtle()函數(shù)對(duì)應(yīng) 全局控制命令 說(shuō)明 turtle.clear() 清空turtle窗口,但是turtle的位置和狀態(tài)不會(huì)改變 turtle.done() 繪圖完成之后不自動(dòng)關(guān)閉窗口 turtle.reset() 清空窗口,重置turtle狀態(tài)為起始狀態(tài) turtle.undo() 撤銷上一個(gè)turtle動(dòng)作 turtle.isvisible() 返回當(dāng)前turtle是否可見 stamp() 復(fù)制當(dāng)前圖形 turtle.write(s[,font("fontname",font_size,"font_type")]) 寫文本,s為文本內(nèi)容,font是字體的參數(shù),里面分別為字體名稱,大小和類型;font為可選項(xiàng), font的參數(shù)也是可選項(xiàng) -
注意事項(xiàng)
-
“__ main__”
- 當(dāng)直接執(zhí)行當(dāng)前程序時(shí),程序名為main,導(dǎo)入模塊執(zhí)行時(shí),程序名不是main
3. 代碼示例
# !python3
# !usr/bin/env python3
# -*- coding:utf-8 -*-
# 太陽(yáng)花
import turtle as t
t.color("red", "yellow")
t.speed(10)
t.hideturtle()
t.begin_fill()
for i in range(36):
t.forward(200)
t.circle(10)
t.left(170)
t.end_fill()
t.done()
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

