首页 » 技术分享 » 使用python中turtle绘制一个小猪佩奇的头像

使用python中turtle绘制一个小猪佩奇的头像

 

之前一直被佩奇的预告片刷屏,就想着用python中的turtle模块来自己绘制一个海报目前完成了一个头,代码如下;之后会更新整幅图

from turtle import *

def eyes(x,y):#眼睛
    penup()#提起笔
    goto(x,y)#定位
    setheading(90)
    forward(25)
    setheading(0)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)
    forward(10)#向前走10的步长
    pendown()#落笔,开始画
    pencolor(255,155,192)#画笔颜色
    setheading(15)
    begin_fill()
    circle(10)
    setheading(80)
    forward(9)
    color(255,255,255)#返回或设置pencolor和fillcolor
    begin_fill()
    circle(6)
    color(0,0,0)
    end_fill()

def ears(x,y): #耳朵
    penup()#提起笔
    goto(x,y)#定位
    color((255,155,192))
    pendown()#落笔,开始画
    setheading(-20)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)
    begin_fill()#准备开始填充图形
    a=0.4
    for i in range (15,120):
        if 15<=i<45 or 75<=i<110:
            a=a+0.05
            left(3)#向左转3度
            forward(a)#向前走a的步长
        else:
            a=a-0.05
            left(3)
            forward(a)
    end_fill()#填充完成

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 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(1024,740)
    setup(780,500)
    #speed(10) #设置绘图速度
    Turtle().screen.delay(0)

def main():
    setting()#画布、画笔设置
    nose(-100,100)#鼻子
    ears(42,140)#一只耳朵
    ears(102,110)#另一只耳朵
    head(-69,167)#头
    eyes(0,85)#一只眼睛
    eyes(45,70)#另一只眼睛
    cheek(80,10)#腮
    mouth(-20,30)#嘴
    done()

main()

转载自原文链接, 如需删除请联系管理员。

原文链接:使用python中turtle绘制一个小猪佩奇的头像,转载请注明来源!

0