在畫布上,默認畫布中心爲座標原點,且隱藏着一個直角座標系,小海龜的初始正方向規定爲X軸的正方向。使用小海龜繪圖時,肯定方向與距離進行繪製圖像。html
命令 | 說明 |
---|---|
turtle.pensize() | 設置畫筆的寬度 |
turtle.pencolor() | 設置畫筆的顏色,能夠使用「black」「red」或者RGB3元組 |
turtle.speed() | 設置畫筆的移動速度,參數的範圍在[0,10]之間的整數,數字越大,速度越快 |
命令 | 說明 |
---|---|
turtle.forward(distance) | 向當前畫筆方向移動distance像素長 |
turtle.backward(distance) | 向當前畫筆相反方向移動distance像素長度 |
turtle.right(degree) | 順時針移動degree° |
turtle.left(degree) | 逆時針移動degree° |
turtle.pendown() | 移動時繪製圖形,缺省時也爲繪製 |
turtle.goto(x,y) | 將畫筆移動到座標爲x,y的位置 |
turtle.penup() | 移動時不繪製圖形,提起筆,用於另起一個地方繪製時用 |
turtle.speed(speed) | 畫筆繪製的速度範圍[0,10]整數 |
turtle.circle() | 畫圓,半徑爲正(負),表示圓心在畫筆的左邊(右邊)畫圓 |
命令 | 說明 |
---|---|
turtle.pensize(width) | 繪製圖形時的寬度 |
turtle.pencolor() | 畫筆顏色 |
turtle.fillcolor(colorstring) | 繪製圖形的填充顏色 |
turtle.color(color1, color2) | 同時設置pencolor=color1, fillcolor=color2 |
turtle.filling() | 返回當前是否在填充狀態 |
turtle.begin_fill() | 準備開始填充圖形 |
turtle.end_fill() | 填充完成; |
turtle.hideturtle() | 隱藏箭頭顯示; |
turtle.showturtle() | 與hideturtle()函數對應 |
turtle.hideturtle() # 隱藏小海龜畫筆 turtle.mainloop() # 保留最後圖像
奔馳標誌 1.0python
奔馳標誌 2.0ide
奔馳標誌 3.0函數
附 3.0版本代碼以下:oop
import turtle as t import time R = 150 r = R - 10 t.pensize(10) t.color("black","white") t.speed(10) t.circle(R,360) # 畫圓圈 t.penup() t.left(90) t.forward(R) t.pensize(1) t.pendown() t.forward(R) t.pensize(1) t.fillcolor("black") # 左側三角形 t.begin_fill() t.left(170) t.forward(r) t.right(180) t.forward(r) t.right(170) t.forward(R) t.right(60) t.forward(R) t.right(170) t.forward(r) t.end_fill() # 下面三角形 t.right(180) t.forward(r) t.begin_fill() t.left(160) t.forward(r) t.right(180) t.forward(r) t.right(170) t.forward(R) t.right(60) t.forward(R) t.right(170) t.forward(r) t.end_fill() # 右邊三角形 t.right(180) t.forward(r) t.begin_fill() t.left(160) t.forward(r) t.right(180) t.forward(r) t.right(170) t.forward(R) t.right(60) t.forward(R) t.right(170) t.forward(r) t.end_fill() t.hideturtle() # 隱藏小海龜畫筆 t.mainloop() # 保留圖像
# 畫方格 import turtle as t t.pensize(1) for i in range(1,300,2): t.left(90) t.fd(i*2)
import turtle as t import time R = 150 t.speed(100) t.pensize(3) t.color("blue") for i in range(50): t.circle(R-i*3, 180)
公企鵝效果圖 post
母企鵝效果圖動畫
附企鵝代碼:url
import turtle import time def head(): #配置畫筆屬性 turtle.fillcolor("black") turtle.color("black") turtle.colormode(255) turtle.speed(1) #繪製母企鵝頭部 turtle.penup() turtle.goto(-300,350) turtle.seth(0) turtle.pendown() turtle.begin_fill() turtle.circle(-200,-110) turtle.penup() turtle.goto(-300,350) turtle.pendown() turtle.seth(0) turtle.circle(-200,110) turtle.seth(213) turtle.circle(-345,66) turtle.end_fill() def lefteye(): #配置畫筆屬性 turtle.Turtle().screen.delay(0) turtle.fillcolor("white") turtle.speed(1) turtle.colormode(255) #繪製母企鵝的左眼 turtle.pu() turtle.goto(-350,275) turtle.seth(180) turtle.pd() turtle.begin_fill() #畫橢圓 a=1.0 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.lt(3) #向左轉3度 turtle.fd(a) #向前走a的步長 else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.pu() turtle.end_fill() #繪製左眼眼影 turtle.begin_fill() turtle.fillcolor("pink") turtle.pu() turtle.goto(-378,255) turtle.pendown() turtle.color("pink") turtle.seth(15) turtle.circle(-100,35) turtle.pu() turtle.goto(-350,275) turtle.seth(180) a=1 for i in range(20): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.lt(3) turtle.fd(a) else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.goto(-350,275) turtle.seth(0) a=1 for i in range(20): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.rt(3) turtle.fd(a) else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.pu() turtle.end_fill() #繪製睫毛 turtle.pu() turtle.goto(-350,275) turtle.seth(180) turtle.pd() a=1 for i in range(20): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.lt(3) turtle.fd(a) else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.pensize(3) turtle.color(242,156,177) turtle.circle(-20,190) turtle.pensize(1) #繪製母企鵝的左眼珠 turtle.color("black") turtle.fillcolor("black") turtle.begin_fill() turtle.pu() turtle.goto(-330,245) turtle.seth(180) turtle.pd() turtle.begin_fill() a=0.01 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.05 turtle.lt(3) turtle.fd(a) else: a=a-0.05 turtle.lt(3) turtle.fd(a) turtle.pu() turtle.end_fill() def righteye(): #配置畫筆屬性 turtle.Turtle().screen.delay(0) turtle.fillcolor("white") turtle.speed(1) turtle.colormode(255) #繪製母企鵝的右眼 turtle.pu() turtle.goto(-250,275) turtle.seth(180) turtle.pd() turtle.begin_fill() a=1.0 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.lt(3) turtle.fd(a) else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.pu() turtle.end_fill() #繪製右眼眼影 turtle.begin_fill() turtle.fillcolor("pink") turtle.pu() turtle.goto(-278,255) turtle.pendown() turtle.color("pink") turtle.seth(15) turtle.circle(-100,35) turtle.pu() turtle.goto(-250,275) turtle.seth(180) a=1 for i in range(20): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.lt(3) turtle.fd(a) else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.goto(-250,275) turtle.seth(0) a=1 for i in range(20): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.rt(3) turtle.fd(a) else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.pu() turtle.end_fill() #繪製睫毛 turtle.pu() turtle.goto(-250,275) turtle.seth(0) turtle.pd() a=1 for i in range(20): if 0<=i<30 or 60<=i<90: a=a+0.08 turtle.rt(3) #向左轉3度 turtle.fd(a) #向前走a的步長 else: a=a-0.08 turtle.lt(3) turtle.fd(a) turtle.pensize(3) turtle.color(242,156,177) turtle.circle(20,190) turtle.pensize(1) #繪製母企鵝的右眼珠 turtle.color("black") turtle.fillcolor("black") turtle.begin_fill() turtle.pu() turtle.goto(-270,245) turtle.seth(180) turtle.pd() turtle.begin_fill() a=0.01 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.05 turtle.lt(3) turtle.fd(a) else: a=a-0.05 turtle.lt(3) turtle.fd(a) turtle.pu() turtle.end_fill() def mouth(): #配置畫筆屬性 turtle.fillcolor((250,175,8)) turtle.color((250,175,8)) turtle.speed(1) turtle.colormode(255) #繪製母企鵝的嘴巴 turtle.pu() turtle.goto(-410,120) turtle.seth(30) turtle.pd() turtle.begin_fill() turtle.circle(-225,60) turtle.circle(-8,150) turtle.seth(210) turtle.circle(-225,60) turtle.seth(-210) turtle.circle(-8,150) turtle.pu() turtle.end_fill() def bowknot(): #配置畫筆屬性 turtle.speed(1) turtle.fillcolor("pink") turtle.pu() turtle.color("pink") turtle.goto(-250,360) turtle.pd() turtle.seth(225) #繪製蝴蝶結的上半部分 turtle.begin_fill() turtle.fillcolor("pink") turtle.pu() turtle.goto(-250,360) turtle.pd() turtle.circle(-70,100) turtle.seth(50) turtle.circle(-80,53) turtle.pu() turtle.goto(-250,360) turtle.seth(50) turtle.pd() turtle.circle(70,100) turtle.seth(225) turtle.circle(80,53) turtle.end_fill() #繪製蝴蝶結下半部分 turtle.pu() turtle.goto(-195,335) turtle.pd() turtle.begin_fill() turtle.fillcolor("pink") turtle.seth(45) turtle.circle(-70,100) turtle.seth(230) turtle.circle(-80,62.5) turtle.pu() turtle.goto(-195,335) turtle.seth(225) turtle.pd() turtle.circle(70,100) turtle.seth(50) turtle.circle(80,58) turtle.end_fill() #蝴蝶結的中間部分 turtle.begin_fill() turtle.fillcolor("pink") turtle.pu() turtle.color("pink") turtle.goto(-255,370) turtle.pd() turtle.seth(225) turtle.circle(40,360) turtle.end_fill() def scarf(): #配置畫筆屬性 turtle.fillcolor("pink") turtle.color("pink") turtle.speed(1) turtle.colormode(255) #繪製圍巾 turtle.pu() turtle.goto(-489,82) turtle.seth(-115) turtle.pd() turtle.begin_fill() turtle.fd(75) turtle.seth(-30) turtle.circle(450,10) turtle.seth(-90) turtle.fd(100) turtle.seth(-35) turtle.circle(50,70) turtle.seth(90) turtle.fd(95) turtle.seth(-12) turtle.circle(450,40) turtle.seth(110) turtle.fd(70) turtle.seth(213) turtle.circle(-345,64) turtle.pu() turtle.end_fill() def body(): #配置畫筆屬性 turtle.fillcolor("black") turtle.color("black") turtle.speed(1) turtle.colormode(255) #繪製母企鵝的身體 turtle.pu() turtle.goto(-489,82) turtle.seth(-115) turtle.pd() turtle.begin_fill() turtle.fd(175) turtle.circle(120,40) turtle.seth(30) turtle.circle(200,40) turtle.seth(-90) turtle.circle(174,180) turtle.seth(-70) turtle.circle(200,40) turtle.seth(70) turtle.circle(120,43) turtle.fd(175) turtle.seth(213) turtle.circle(-345,66) turtle.pu() turtle.end_fill() def feet(): #配置畫筆屬性 turtle.fillcolor((250,175,8)) turtle.color((250,175,8)) turtle.speed(1) turtle.colormode(255) #繪製母企鵝的左腳 turtle.pu() turtle.goto(-300,-228) turtle.seth(180) turtle.pd() turtle.begin_fill() turtle.fd(200) turtle.circle(-10,120) turtle.circle(-120,40) turtle.pu() turtle.end_fill() #繪製母企鵝的右腳 turtle.pu() turtle.goto(-300,-228) turtle.seth(0) turtle.pd() turtle.begin_fill() turtle.fd(200) turtle.circle(10,120) turtle.circle(120,50) turtle.pu() turtle.end_fill() def belly(): #配置畫筆屬性 turtle.fillcolor("white") turtle.color("white") turtle.speed(1) turtle.colormode(255) #繪製母企鵝的白色肚皮 turtle.pu() turtle.goto(-305,28) turtle.seth(180) turtle.pd() turtle.begin_fill() #畫橢圓 a=4.5 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.1 turtle.lt(3) turtle.fd(a) else: a=a-0.1 turtle.lt(3) turtle.fd(a) turtle.pu() turtle.end_fill() turtle.pu() turtle.end_fill() turtle.Turtle().screen.delay(0) head(); bowknot(); lefteye(); righteye(); mouth(); feet(); body(); belly(); scarf(); turtle.hideturtle() turtle.mainloop()
小企鵝生成動畫:spa
本文中部分基本操做參照 博文 10分鐘輕鬆學會 Python turtle 繪圖3d