*****看一下我定義的change()和run()函數******
繪圖坐標體系:
作用:設置主窗體的大小和位置
turtle.setup(width, height, startx, starty)
#width : 窗口寬度,若值是整數,表示像素值;若是小數,表示窗口寬度與屏幕的比例。
#height : 窗口高度,若值是整數,表示像素值;若是小數,表示窗口高度與屏幕的比例。
#startx : 窗口左側與屏幕左側的像素距離,若值是None,窗口位于屏幕水平中央。
#starty : 窗口頂部與屏幕頂部的像素距離,若值是None,窗口位于屏幕垂直中央。
畫筆控制函數:
turtle中的畫筆(即小海龜)可以通過一組函數來控制;
turtle.penup(); #抬起畫筆(畫筆移動時沒有痕跡)turtle.pendown(); #放下畫筆(畫筆移動時有痕跡,即作畫中)turtle.pensize(width) #設置畫筆的尺寸turtle.width() #設置畫筆寬度,當無參數輸入時返回當前畫筆寬度turtle.pencolor(colorstring) #設置畫筆顏色turtle.goto(x, y) #將畫筆移動至(x,y)處
形狀繪制函數:
turtle.fd(distance) #畫筆移動distance距離turtle.seth(angle) #設置當前畫筆的方向為angleturtle.circle(radius, extent=None) #根據半徑radius繪制extent角度的弧形
我為了精簡代碼,定義了兩個函數:
change(x, y) : 將畫筆的位置設置在(x, y)
run(angle, length) : 方向為angle ,畫筆前進length個單位長度
def run(angle, lenth): turtle.seth(angle) turtle.fd(lenth) def change(x, y): turtle.penup() turtle.goto(x, y) turtle.pendown()
這里我使用 漢字 “中” 來舉個例子:
我們把“中” 字抽象成點。(如圖所示的 A、B、C、D、E、F 六個點)
然后,我們就是要把他們連接起來啊。 我們先連接ABCD四個點。
變成下圖
然后再連接EF兩點。完成。
對應的代碼:
#zhongchange(-100, 80)#將畫筆放在坐標A(-100, 80)run(0, 200)#從A點畫到B點run(-90, 120)#從B畫到C點run(180, 200)#從C點畫到D點run(90, 120)#從D點畫到A點 change(0, 150)#將畫筆放在坐標E(0, 150)run(-90, 300)#從E點畫到F點
畫自己的名字嚶嚶嚶
import turtle def run(angle, lenth): turtle.seth(angle) turtle.fd(lenth) def change(x, y): turtle.penup() turtle.goto(x, y) turtle.pendown()def init(): turtle.pensize(10) turtle.pencolor("purple") turtle.setup(800, 400, 200, 200)init()#wuchange(-350, 100)run(0, 100)run(-90, 70)run(180, 100)run(90, 70)change(-350, 0)run(0, 100)change(-400, -50)run(0, 200)change(-300, 0)run(-90, 50)run(-125, 100)change(-300, -50)run(-55, 100)run(0,10)#fengchange(-65, 70)run(0, 130)change(-50, 10)run(0, 100)change(-100, -70)run(0, 200)change(0, -160)run(90, 280)#yuanchange(125, 100)run(-35, 40)change(125, 25)run(-35, 40)change(125, -125)run(55, 90)change(220, 100)run(0, 110)change(220, 100)run(-95,230)change(285, 85)run(-145, 40)change(250, 65)run(0, 70)run(-90, 80)run(180, 70)run(90, 80)change(250, 25)run(0, 70)change(285,-15)run(-90, 120)run(135, 20)change(250, -50)run(-125, 40)change(315, -50)run(-55, 50)
新聞熱點
疑難解答