用 Python 20秒畫完小豬佩奇“社會人”
阿新 • • 發佈:2019-01-09
from turtle import*
def nose(x,y):#鼻子 penup()#提起筆 goto(x,y)#定位 pendown()#落筆,開始畫 setheading(-30)#將烏龜的方向設定為to_angle/為數字(0-東、90-北、180-西、270-南) begin_fill()#準備開始填充圖形 a=0.4 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.08 left(3) #向左轉3度 forward(a) #向前走a的步長
else:
a=a-0.08
left(3)
forward(a)
end_fill()#填充完成
penup()
setheading(90)
forward(25)
setheading(0)
forward(10)
pendown()
pencolor(255,155,192)#畫筆顏色
setheading(10)
begin_fill()
circle(5)
color(160,82,45)#返回或設定pencolor和fillcolor
end_fill()
penup()
setheading(0)
forward(20)
pendown()
pencolor(255,155,192)
setheading(10)
begin_fill()
circle(5)
color(160,82,45)
end_fill()
def head(x,y):#頭 color((255,155,192),"pink") penup() goto(x,y) setheading(0) pendown() begin_fill() setheading(180 )
circle(300,-30)
circle(100,-60)
circle(80,-100)
circle(150,-20)
circle(60,-95)
setheading(161)
circle(-300,15)
penup()
goto(-100,100)
pendown()
setheading(-30)
a=0.4
for i in range(60):
if 0<=i<30 or 60<=i<90:
a=a+0.08
lt(3) #向左轉3度
fd(a) #向前走a的步長
else:
a=a-0.08
lt(3)
fd(a)
end_fill()
def ears(x,y): #耳朵 color((255,155,192),"pink") penup() goto(x,y) pendown() begin_fill() setheading(100) circle(-50,50) circle(-10,120) circle(-50,54) end_fill() penup() setheading(90) forward(-12) setheading(0) forward(30) pendown() begin_fill() setheading(100) circle(-50,50) circle(-10,120) circle(-50,56) end_fill()
def eyes(x,y):#眼睛 color((255,155,192),"white") penup() setheading(90) forward(-20) setheading(0) forward(-95) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill() color((255,155,192),"white") penup() seth(90) forward(-25) seth(0) forward(40) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill()
def cheek(x,y):#腮 color((255,155,192)) penup() goto(x,y) pendown() setheading(0) begin_fill() circle(30) end_fill()
def mouth(x,y): #嘴 color(239,69,19) penup() goto(x,y) pendown() setheading(-80) circle(30,40) circle(40,80)
def setting(): #引數設定 pensize(4) hideturtle() #使烏龜無形(隱藏) colormode(255) #將其設定為1.0或255.隨後 顏色三元組的r,g,b值必須在0 .. cmode範圍內 color((255,155,192),"pink") setup(840,500) speed(10)
def main(): setting() #畫布、畫筆設定 nose(-100,100) #鼻子 head(-69,167) #頭 ears(0,160) #耳朵 eyes(0,140) #眼睛 cheek(80,10) #腮 mouth(-20,30) #嘴 done()
if __name__ == '__main__': main()
def nose(x,y):#鼻子 penup()#提起筆 goto(x,y)#定位 pendown()#落筆,開始畫 setheading(-30)#將烏龜的方向設定為to_angle/為數字(0-東、90-北、180-西、270-南) begin_fill()#準備開始填充圖形 a=0.4 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.08 left(3) #向左轉3度 forward(a) #向前走a的步長
def head(x,y):#頭 color((255,155,192),"pink") penup() goto(x,y) setheading(0) pendown() begin_fill() setheading(180
def ears(x,y): #耳朵 color((255,155,192),"pink") penup() goto(x,y) pendown() begin_fill() setheading(100) circle(-50,50) circle(-10,120) circle(-50,54) end_fill() penup() setheading(90) forward(-12) setheading(0) forward(30) pendown() begin_fill() setheading(100) circle(-50,50) circle(-10,120) circle(-50,56) end_fill()
def eyes(x,y):#眼睛 color((255,155,192),"white") penup() setheading(90) forward(-20) setheading(0) forward(-95) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill() color((255,155,192),"white") penup() seth(90) forward(-25) seth(0) forward(40) pendown() begin_fill() circle(15) end_fill() color("black") penup() setheading(90) forward(12) setheading(0) forward(-3) pendown() begin_fill() circle(3) end_fill()
def cheek(x,y):#腮 color((255,155,192)) penup() goto(x,y) pendown() setheading(0) begin_fill() circle(30) end_fill()
def mouth(x,y): #嘴 color(239,69,19) penup() goto(x,y) pendown() setheading(-80) circle(30,40) circle(40,80)
def setting(): #引數設定 pensize(4) hideturtle() #使烏龜無形(隱藏) colormode(255) #將其設定為1.0或255.隨後 顏色三元組的r,g,b值必須在0 .. cmode範圍內 color((255,155,192),"pink") setup(840,500) speed(10)
def main(): setting() #畫布、畫筆設定 nose(-100,100) #鼻子 head(-69,167) #頭 ears(0,160) #耳朵 eyes(0,140) #眼睛 cheek(80,10) #腮 mouth(-20,30) #嘴 done()
if __name__ == '__main__': main()