用turtle画皮卡丘

如何绘制皮卡丘

画左偏曲线函数

setheading属性的作用是什么?

def radian_left(ang,dis,step,n):
    for i in range(n):
        dis+=step #dis增大step
        t.lt(ang) #向左转ang度
        t.fd(dis) #向前走dis的步长

画右偏曲线函数

def radian_right(ang,dis,step,n):
    for i in range(n):
        dis+=step
        t.rt(ang) #向左转ang度
        t.fd(dis) #向前走dis的步长

画耳朵

def InitEars():
    t.color("black", "yellow")
    # 左耳朵曲线
    t.pu()  # 提笔
    t.goto(-50, 100)  # 笔头初始位置
    t.pd()  # 下笔
    t.setheading(110)  # 画笔角度

    t.begin_fill()

    radian_left(1.2, 0.4, 0.1, 40)

    t.setheading(270)  # 画笔角度
    radian_left(1.2, 0.4, 0.1, 40)

    t.setheading(44)  # 画笔角度
    t.forward(32)
    t.end_fill()

    # 右耳朵曲线
    t.pu()  # 提笔
    t.goto(50, 100)  # 笔头初始位置
    t.pd()  # 下笔
    t.setheading(70)  # 画笔角度

    t.begin_fill()
    radian_right(1.2, 0.4, 0.1, 40)

    t.setheading(270)  # 画笔角度
    radian_right(1.2, 0.4, 0.1, 40)

    t.setheading(136)  # 画笔角度
    t.forward(32)
    t.end_fill()

    # 耳朵黑

    t.begin_fill()
    t.fillcolor("black")
    t.pu()  # 提笔
    t.goto(88, 141)  # 笔头初始位置
    t.pd()  # 下笔
    t.setheading(35)  # 画笔角度

    radian_right(1.2, 1.6, 0.1, 16)

    t.setheading(270)  # 画笔角度
    radian_right(1.2, 0.4, 0.1, 25)

    t.setheading(132)  # 画笔角度
    t.forward(31)
    t.end_fill()

    t.begin_fill()
    t.fillcolor("black")
    t.pu()  # 提笔
    t.goto(-88, 141)  # 笔头初始位置
    t.pd()  # 下笔
    t.setheading(145)  # 画笔角度

    radian_left(1.2, 1.6, 0.1, 16)

    t.setheading(270)  # 画笔角度
    radian_left(1.2, 0.4, 0.1, 25)

    t.setheading(48)  # 画笔角度
    t.forward(31)
    t.end_fill()

画脚

def InitFoots():
    #脚
    t.begin_fill()
    t.fillcolor("yellow")
    t.pensize(2)
    t.pu() # 提笔
    t.goto(-70,-200) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(225) #画笔角度
    radian_left(0.5,1.2,0,12)
    radian_left(35,0.6,0,4)
    radian_left(1,1.2,0,18)
    t.setheading(160) #画笔角度
    t.forward(13)
    t.end_fill()

    t.begin_fill()
    t.fillcolor("yellow")
    t.pensize(2)
    t.pu() # 提笔
    t.goto(70,-200) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(315) #画笔角度
    radian_right(0.5,1.2,0,12)
    radian_right(35,0.6,0,4)
    radian_right(1,1.2,0,18)
    t.setheading(20) #画笔角度
    t.forward(13)
    t.end_fill()

画身体

#画身体
def InitBody():
    #外形轮廓
    t.begin_fill()
    t.pu() # 提笔
    t.goto(112,0) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(90) #画笔角度
    t.circle(112,180)  

    t.setheading(250) #画笔角度

    radian_left(1.6,1.3,0,50)
    
    radian_left(0.8,1.5,0,25)

    t.setheading(255) #画笔角度
    radian_left(0.4,1.6,0.2,27)

    radian_left(2.8,1,0,45)
    radian_right(0.9,1.4,0,31)

    t.setheading(355) #画笔角度
    radian_right(0.9,1.4,0,31)

    radian_left(2.8,1,0,45)

    radian_left(0.4,7.2,-0.2,27)

    t.setheading(10) #画笔角度
    radian_left(0.8,1.5,0,25)

    radian_left(1.6,1.3,0,50)

    t.end_fill()

画眼睛

def InitEyes():
    #左眼睛
    t.begin_fill()
    t.fillcolor("black")
    t.pu() # 提笔
    t.goto(-46,10) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(90) #画笔角度
    t.circle(5,360) 
    t.end_fill()

    #右眼睛
    t.begin_fill()
    t.fillcolor("black")
    t.pu() # 提笔
    t.goto(46,10) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(-90) #画笔角度
    t.circle(5,360) 
    t.end_fill()
    

闭眼:

def CloseEyes():
    #左眼睛
    t.pu() # 提笔
    t.goto(-46,12) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(180) #画笔角度
    t.forward(10)

    #右眼睛
    t.pu() # 提笔
    t.goto(46,12) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(0) #画笔角度
    t.forward(10)

画脸

def InitFace():
    #脸蛋
    t.begin_fill()
    t.fillcolor("red")
    t.pu() # 提笔
    t.goto(-63,-10) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(90) #画笔角度
    t.circle(10,360) 
    t.end_fill()

    t.begin_fill()
    t.fillcolor("red")
    t.pu() # 提笔
    t.goto(63,-10) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(-90) #画笔角度
    t.circle(10,360) 
    t.end_fill()


    #嘴巴
    t.pensize(2.2)
    t.pu() # 提笔
    t.goto(0,0) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(235) #画笔角度
    radian_right(5,0.8,0,30)

    t.pu() # 提笔
    t.goto(0,0) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(305) #画笔角度
    radian_left(5,0.8,0,30)

画手

def InitHands():
    #左手
    t.pensize(2)
    t.pu() # 提笔
    t.goto(-46,-100) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(285) #画笔角度
    radian_right(0.4,1.2,0,26)
    radian_right(5,0.35,0,26)
    radian_right(0.3,1.2,0,15)

    #右手
    t.pu() # 提笔
    t.goto(46,-100) # 笔头初始位置
    t.pd() # 下笔
    t.setheading(255) #画笔角度
    radian_left(0.4,1.2,0,26)
    radian_left(5,0.35,0,26)
    radian_left(0.3,1.2,0,15)

你可能感兴趣的:(Python)