最近《哪吒之魔童闹海》大火,使用Python Turtle写代码绘制了哪吒头像。
基础坐标点定位使用Illustrator软件绘制。
取得坐标点后,使用Python Turtle写出贝塞尔曲线代码,绘制完成头像。
Python Turtle手搓贝塞尔曲线绘制哪吒头像
完整代码如下:
import turtle as t
#贝塞尔曲线函数
def besr1(P_10,P_11,P_12,P_13, Colorl, sizel, Colorf):
'''
P0,P1,P2,P3是按顺序的第一阶四个点坐标,元组
Colorl是描边颜色,元组
sizel是描边粗细,整型
Colorf是填充颜色,元组
'''
t.penup()
t.pencolor(Colorl)
t.pensize(sizel)
t.fillcolor(Colorf)
t.goto(P_10[0], P_10[1])
t.pendown()
#开始绘制
for i in range(0,101):
P_20,P_21,P_22, P_30,P_31, P_40 = [0,0],[0,0],[0,0], [0,0],[0,0], [0,0]
i /= 100
#第二阶三个点坐标
P_20[0] = (P_11[0] - P_10[0])*i + P_10[0]
P_20[1] = (P_11[1] - P_10[1])*i + P_10[1]
P_21[0] = (P_12[0] - P_11[0])*i + P_11[0]
P_21[1] = (P_12[1] - P_11[1])*i + P_11[1]
P_22[0] = (P_13[0] - P_12[0])*i + P_12[0]
P_22[1] = (P_13[1] - P_12[1])*i + P_12[1]
#第三阶两个点坐标
P_30[0] = (P_21[0] - P_20[0])*i + P_20[0]
P_30[1] = (P_21[1] - P_20[1])*i + P_20[1]
P_31[0] = (P_22[0] - P_21[0])*i + P_21[0]
P_31[1] = (P_22[1] - P_21[1])*i + P_21[1]
#第四阶一个点坐标
P_40[0] = (P_31[0] - P_30[0])*i + P_30[0]
P_40[1] = (P_31[1] - P_30[1])*i + P_30[1]
t.goto(P_40[0], P_40[1])
t.penup()
def besr2(P_10,P_11,P_12,P_13, Colorl, sizel, Colorf):
'''
P0,P1,P2,P3是按顺序的第一阶四个点坐标,元组
Colorl是描边颜色,元组
sizel是描边粗细,整型
Colorf是填充颜色,元组
'''
t.penup()
t.pencolor(Colorl)
t.fillcolor(Colorf)
t.goto(P_10[0], P_10[1])
t.pendown()
#开始绘制
for i in range(0,101):
P_20,P_21,P_22, P_30,P_31, P_40 = [0,0],[0,0],[0,0], [0,0],[0,0], [0,0]
i /= 100
#第二阶三个点坐标
P_20[0] = (P_11[0] - P_10[0])*i + P_10[0]
P_20[1] = (P_11[1] - P_10[1])*i + P_10[1]
P_21[0] = (P_12[0] - P_11[0])*i + P_11[0]
P_21[1] = (P_12[1] - P_11[1])*i + P_11[1]
P_22[0] = (P_13[0] - P_12[0])*i + P_12[0]
P_22[1] = (P_13[1] - P_12[1])*i + P_12[1]
#第三阶两个点坐标
P_30[0] = (P_21[0] - P_20[0])*i + P_20[0]
P_30[1] = (P_21[1] - P_20[1])*i + P_20[1]
P_31[0] = (P_22[0] - P_21[0])*i + P_21[0]
P_31[1] = (P_22[1] - P_21[1])*i + P_21[1]
#第四阶一个点坐标
P_40[0] = (P_31[0] - P_30[0])*i + P_30[0]
P_40[1] = (P_31[1] - P_30[1])*i + P_30[1]
t.pensize(i*sizel/1)
t.goto(P_40[0], P_40[1])
t.penup()
def besr3(P_10,P_11,P_12,P_13, Colorl, sizel, Colorf):
'''
P0,P1,P2,P3是按顺序的第一阶四个点坐标,元组
Colorl是描边颜色,元组
sizel是描边粗细,整型
Colorf是填充颜色,元组
'''
t.penup()
t.pencolor(Colorl)
t.fillcolor(Colorf)
t.goto(P_10[0], P_10[1])
t.pendown()
#开始绘制
for i in range(0,101):
P_20,P_21,P_22, P_30,P_31, P_40 = [0,0],[0,0],[0,0], [0,0],[0,0], [0,0]
i /= 100
#第二阶三个点坐标
P_20[0] = (P_11[0] - P_10[0])*i + P_10[0]
P_20[1] = (P_11[1] - P_10[1])*i + P_10[1]
P_21[0] = (P_12[0] - P_11[0])*i + P_11[0]
P_21[1] = (P_12[1] - P_11[1])*i + P_11[1]
P_22[0] = (P_13[0] - P_12[0])*i + P_12[0]
P_22[1] = (P_13[1] - P_12[1])*i + P_12[1]
#第三阶两个点坐标
P_30[0] = (P_21[0] - P_20[0])*i + P_20[0]
P_30[1] = (P_21[1] - P_20[1])*i + P_20[1]
P_31[0] = (P_22[0] - P_21[0])*i + P_21[0]
P_31[1] = (P_22[1] - P_21[1])*i + P_21[1]
#第四阶一个点坐标
P_40[0] = (P_31[0] - P_30[0])*i + P_30[0]
P_40[1] = (P_31[1] - P_30[1])*i + P_30[1]
t.pensize((1-i)*sizel/1)
t.goto(P_40[0], P_40[1])
t.penup()
def besr4(P_10,P_11,P_12,P_13, Colorl, sizel, Colorf):
'''
P0,P1,P2,P3是按顺序的第一阶四个点坐标,元组
Colorl是描边颜色,元组
sizel是描边粗细,整型
Colorf是填充颜色,元组
'''
t.penup()
t.pencolor(Colorl)
t.fillcolor(Colorf)
t.goto(P_10[0], P_10[1])
t.pendown()
#开始绘制
for i in range(0,101):
P_20,P_21,P_22, P_30,P_31, P_40 = [0,0],[0,0],[0,0], [0,0],[0,0], [0,0]
i /= 100
#第二阶三个点坐标
P_20[0] = (P_11[0] - P_10[0])*i + P_10[0]
P_20[1] = (P_11[1] - P_10[1])*i + P_10[1]
P_21[0] = (P_12[0] - P_11[0])*i + P_11[0]
P_21[1] = (P_12[1] - P_11[1])*i + P_11[1]
P_22[0] = (P_13[0] - P_12[0])*i + P_12[0]
P_22[1] = (P_13[1] - P_12[1])*i + P_12[1]
#第三阶两个点坐标
P_30[0] = (P_21[0] - P_20[0])*i + P_20[0]
P_30[1] = (P_21[1] - P_20[1])*i + P_20[1]
P_31[0] = (P_22[0] - P_21[0])*i + P_21[0]
P_31[1] = (P_22[1] - P_21[1])*i + P_21[1]
#第四阶一个点坐标
P_40[0] = (P_31[0] - P_30[0])*i + P_30[0]
P_40[1] = (P_31[1] - P_30[1])*i + P_30[1]
if i<0.5:
t.pensize(i*sizel/1)
else:
t.pensize((1-i)*sizel/1)
t.goto(P_40[0], P_40[1])
t.penup()
#设置窗口
t.colormode(255)
t.bgcolor(250,255,205)
t.screensize(800, 800)
#开始绘制
#发髻
t.begin_fill()
besr1((-226,174), (-287,143), (-342,55), (-352,-19), (165,0,0), 4, (165,0,0))
besr1((-352,-19), (-339,-18), (-322,-25), (-318,-31), (165,0,0), 4, (165,0,0))
besr1((-318,-31), (-313,10), (-290,75), (-251,125), (165,0,0), 4, (165,0,0))
t.pendown()
t.goto(-226,174)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-241, 205), (-247, 186), (-285, 123), (-356, 108), (196,0,0), 4, (196,0,0))
besr1((-356, 108), (-347, 94), (-350, 59), (-350, 59), (196,0,0), 4, (196,0,0))
besr1((-350, 59), (-327, 68), (-251, 141), (-225, 189), (196,0,0), 4, (196,0,0))
t.pendown()
t.goto(-241, 205)
t.penup()
t.end_fill()
t.begin_fill()
t.goto(-226, 199)
t.pencolor(0,0,0)
t.fillcolor(0,0,0)
t.pendown()
t.circle(76)
t.end_fill()
t.begin_fill()
besr1((-154,306), (-162,307), (-192,294), (-215,264), (196,0,0), 4, (196,0,0))
besr1((-215,264), (-238,234), (-256,211), (-241,196), (196,0,0), 4, (196,0,0))
besr1((-241,196), (-225,188), (-124,290), (-154,306), (196,0,0), 4, (196,0,0))
t.end_fill()
t.begin_fill()
besr1((226,174), (287,143), (342,55), (352,-19), (165,0,0), 4, (165,0,0))
besr1((352,-19), (339,-18), (322,-25), (318,-31), (165,0,0), 4, (165,0,0))
besr1((318,-31), (313,10), (290,75), (251,125), (165,0,0), 4, (165,0,0))
t.pendown()
t.goto(226,174)
t.penup()
t.end_fill()
t.begin_fill()
besr1((241, 205), (247, 186), (285, 123), (356, 108), (196,0,0), 4, (196,0,0))
besr1((356, 108), (347, 94), (350, 59), (350, 59), (196,0,0), 4, (196,0,0))
besr1((350, 59), (327, 68), (251, 141), (225, 189), (196,0,0), 4, (196,0,0))
t.pendown()
t.goto(241, 205)
t.penup()
t.end_fill()
t.begin_fill()
t.goto(226, 199)
t.pencolor(0,0,0)
t.fillcolor(0,0,0)
t.pendown()
t.circle(76)
t.end_fill()
t.begin_fill()
besr1((154,306), (162,307), (192,294), (215,264), (196,0,0), 4, (196,0,0))
besr1((215,264), (238,234), (256,211), (241,196), (196,0,0), 4, (196,0,0))
besr1((241,196), (225,188), (124,290), (154,306), (196,0,0), 4, (196,0,0))
t.end_fill()
#碎发
t.begin_fill()
besr1((-245,-168), (-234,-196), (-221,-249), (-238,-284), (0,0,0), 4, (0,0,0))
besr1((-238,-284), (-222,-278), (-206,-253), (-200,-234), (0,0,0), 4, (0,0,0))
besr1((-200,-234), (-194,-257), (-197,-277), (-202,-286), (0,0,0), 4, (0,0,0))
besr1((-202,-286), (-191,-283), (-183,-265), (-179,-252), (0,0,0), 4, (0,0,0))
besr1((-179,-252), (-179,-271), (-173,-301), (-154,-321), (0,0,0), 4, (0,0,0))
besr1((-154,-321), (-166,-299), (-171,-272), (-167,-254), (0,0,0), 4, (0,0,0))
besr1((-167,-254), (-160,-278), (-142,-307), (-120,-319), (0,0,0), 4, (0,0,0))
besr1((-120,-319), (-135,-303), (-142,-287), (-147,-263), (0,0,0), 4, (0,0,0))
besr1((-147,-263), (-131,-291), (-102,-318), (-75,-326), (0,0,0), 4, (0,0,0))
besr1((-75,-326), (-92,-313), (-100,-288), (-102,-279), (0,0,0), 4, (0,0,0))
besr1((-102,-279), (-89,-299), (-79,-309), (-68,-312), (0,0,0), 4, (0,0,0))
besr1((-68,-312), (-73,-303), (-74,-287), (-72,-280), (0,0,0), 4, (0,0,0))
besr1((-72,-280), (-67,-296), (-59,-302), (-49,-305), (0,0,0), 4, (0,0,0))
t.pendown()
t.goto(-52,-262)
t.goto(-245,-168)
t.penup()
t.end_fill()
t.begin_fill()
besr1((245,-168), (234,-196), (221,-249), (238,-284), (0,0,0), 4, (0,0,0))
besr1((238,-284), (222,-278), (206,-253), (200,-234), (0,0,0), 4, (0,0,0))
besr1((200,-234), (194,-257), (197,-277), (202,-286), (0,0,0), 4, (0,0,0))
besr1((202,-286), (191,-283), (183,-265), (179,-252), (0,0,0), 4, (0,0,0))
besr1((179,-252), (179,-271), (173,-301), (154,-321), (0,0,0), 4, (0,0,0))
besr1((154,-321), (166,-299), (171,-272), (167,-254), (0,0,0), 4, (0,0,0))
besr1((167,-254), (160,-278), (142,-307), (120,-319), (0,0,0), 4, (0,0,0))
besr1((120,-319), (135,-303), (142,-287), (147,-263), (0,0,0), 4, (0,0,0))
besr1((147,-263), (131,-291), (102,-318), (75,-326), (0,0,0), 4, (0,0,0))
besr1((75,-326), (92,-313), (100,-288), (102,-279), (0,0,0), 4, (0,0,0))
besr1((102,-279), (89,-299), (79,-309), (68,-312), (0,0,0), 4, (0,0,0))
besr1((68,-312), (73,-303), (74,-287), (72,-280), (0,0,0), 4, (0,0,0))
besr1((72,-280), (67,-296), (59,-302), (49,-305), (0,0,0), 4, (0,0,0))
t.pendown()
t.goto(52,-262)
t.goto(245,-168)
t.penup()
t.end_fill()
#肩、褂、圈
t.begin_fill()
t.goto(0,-260)
t.pendown()
t.goto(-59,-260)
t.penup()
besr1((-59,-260), (-59,-282), (-58,-321), (-109,-329), (235,179,132), 4, (235,179,132))
besr1((-109,-329), (-153,-336), (-195,-349), (-195,-400), (235,179,132), 4, (235,179,132))
t.pendown()
t.goto(195,-400)
t.penup()
besr1((195,-400 ), (195,-349), (153,-336), (109,-329), (235,179,132), 4, (235,179,132))
besr1((109,-329), (58,-321), (59,-282), (59,-260), (235,179,132), 4, (235,179,132))
t.pendown()
t.goto(0,-260)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-94,-323), (-97,-321), (-126,-326), (-131,-331), (230,206,32), 4, (251,67,55))
besr1((-131,-331), (-143,-343), (-133,-385), (-146,-400), (230,206,32), 4, (251,67,55))
t.pendown()
t.goto(-70,-400)
t.penup()
besr1((-70,-400), (-70,-382), (-83,-334), (-94,-323), (230,206,32), 4, (251,67,55))
t.end_fill()
t.begin_fill()
besr1((94,-323), (97,-321), (126,-326), (131,-331), (230,206,32), 4, (251,67,55))
besr1((131,-331), (143,-343), (133,-385), (146,-400), (230,206,32), 4, (251,67,55))
t.pendown()
t.goto(70,-400)
t.penup()
besr1((70,-400), (70,-382), (83,-334), (94,-323), (230,206,32), 4, (251,67,55))
t.end_fill()
t.begin_fill()
besr1((-63,-296), (-80,-299), (-108,-322), (-108,-338), (255,245,45), 0, (255,245,45))
besr1((-108,-338), (-108,-354), (-90,-386), (0,-386), (255,245,45), 0, (255,245,45))
besr1((0,-386), (90,-386), (108,-354), (108,-338), (255,245,45), 0, (255,245,45))
besr1((108,-338), (108,-322), (80,-299), (63,-296), (255,245,45), 0, (255,245,45))
besr1((63,-296), (63,-296), (63,-302), (70,-309), (255,245,45), 0, (255,245,45))
besr1((70,-309), (77,-316), (89,-323), (89,-336), (255,245,45), 0, (255,245,45))
besr1((89,-336), (89,-362), (33,-367), (0,-367), (255,245,45), 0, (255,245,45))
besr1((0,-367), (-33,-367), (-89,-362), (-89,-336), (255,245,45), 0, (255,245,45))
besr1((-89,-336), (-89,-323), (-77,-316), (-70,-309), (255,245,45), 0, (255,245,45))
besr1((-70,-309), (-63,-302), (-63,-296), (-63,-296), (255,245,45), 0, (255,245,45))
t.end_fill()
#耳、面、发
t.begin_fill()
besr1((-246,15), (-246,12), (-273,24), (-286,24), (235,179,132), 4, (235,179,132))
besr1((-286,24), (-299,24), (-318,9), (-318,-34), (235,179,132), 4, (235,179,132))
besr1((-318,-34), (-318,-78), (-292,-121), (-268,-121), (235,179,132), 4, (235,179,132))
besr1((-268,-121), (-258,-121), (-246,-121), (-246,15), (235,179,132), 4, (235,179,132))
t.end_fill()
t.begin_fill()
besr1((246,15), (246,12), (273,24), (286,24), (235,179,132), 4, (235,179,132))
besr1((286,24), (299,24), (318,9), (318,-34), (235,179,132), 4, (235,179,132))
besr1((318,-34), (318,-78), (292,-121), (268,-121), (235,179,132), 4, (235,179,132))
besr1((268,-121), (258,-121), (246,-121), (246,15), (235,179,132), 4, (235,179,132))
t.end_fill()
t.begin_fill()
t.pencolor(253,209,172)
t.goto(0,164)
t.pendown()
t.goto(-225,164)
t.goto(-262,80)
t.goto(-254,-25)
t.penup()
besr1((-254,-25), (-249,-67), (-249,-92), (-255,-118), (253,209,172), 4, (253,209,172))
besr1((-255,-118), (-273,-200), (-151,-275), (0,-275), (253,209,172), 4, (253,209,172))
besr1((0,-275), (151,-275), (273,-200), (255,-118), (253,209,172), 4, (253,209,172))
besr1((255,-118), (249,-92), (249,-67), (254,-25), (253,209,172), 4, (253,209,172))
t.pendown()
t.goto(262,80)
t.goto(225,164)
t.goto(0,164)
t.penup()
t.end_fill()
t.begin_fill()
besr1((0,335), (-74,335), (-156,307), (-202,248), (0,0,0), 4, (0,0,0))
besr1((-202,248), (-280,150), (-277,46), (-253,-31), (0,0,0), 4, (0,0,0))
besr1((-253,-31), (-258,36), (-249,97), (-235,122), (0,0,0), 4, (0,0,0))
besr1((-235,122), (-187,112), (0,113), (0,113), (0,0,0), 4, (0,0,0))
besr1((0,113), (0,113), (187,112), (235,122), (0,0,0), 4, (0,0,0))
besr1((235,122), (249,97), (258,36), (253,-31), (0,0,0), 4, (0,0,0))
besr1((253,-31), (277,46), (280,150), (202,248), (0,0,0), 4, (0,0,0))
besr1((202,248), (156,307), (74,335), (0,335), (0,0,0), 4, (0,0,0))
t.end_fill()
#牙
t.begin_fill()
besr1((0,-169), (-92,-169), (-179,-153), (-196,-142), (0,0,0), 0, (0,0,0))
besr1((-196,-142), (-202,-138), (-207,-161), (-175,-184), (0,0,0), 0, (0,0,0))
besr1((-175,-184), (-140,-209), (-94,-232), (0,-232), (0,0,0), 0, (0,0,0))
besr1((0,-232), (94,-232), (140,-209), (175,-184), (0,0,0), 0, (0,0,0))
besr1((175,-184), (207,-161), (202,-138), (196,-142), (0,0,0), 0, (0,0,0))
besr1((196,-142), (179,-153), (92,-169), (0,-169), (0,0,0), 0, (0,0,0))
t.end_fill()
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t.begin_fill()
besr1((-173,-193), (-173,-193), (-163,-177), (-154,-178), (227,227,227), 1, (250,250,250))
besr1((-154,-178), (-139,-180), (-141,-211), (-141,-211), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-173,-193)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-154,-206), (-154,-206), (-141,-183), (-126,-187), (227,227,227), 1, (250,250,250))
besr1((-126,-187), (-110,-193), (-112,-222), (-112,-222), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-154,-206)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-118,-222), (-118,-222), (-110,-186), (-91,-187), (227,227,227), 1, (250,250,250))
besr1((-91,-187), (-72,-190), (-68,-231), (-68,-231), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-118,-222)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-80,-231), (-80,-231), (-77,-200), (-57,-198), (227,227,227), 1, (250,250,250))
besr1((-57,-198), (-38,-197), (-29,-235), (-29,-235), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-80,-231)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-45,-236), (-45,-236), (-38,-200), (-18,-200), (227,227,227), 1, (250,250,250))
besr1((-18,-200), (4,-200), (0,-236), (0,-236), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-45,-236)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-184,-142), (-184,-142), (-186,-184), (-170,-186), (227,227,227), 1, (250,250,250))
besr1((-170,-186), (-154,-188), (-150,-152), (-150,-152), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-184,-142)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-163,-145), (-163,-145), (-166,-187), (-144,-190), (227,227,227), 1, (250,250,250))
besr1((-144,-190), (-122,-194), (-141,-140), (-141,-140), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-163,-145)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-140,-152), (-140,-152), (-144,-197), (-115,-198), (227,227,227), 1, (250,250,250))
besr1((-115,-198), (-87,-200), (-92,-158), (-92,-158), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-140,-152)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-103,-154), (-103,-154), (-102,-207), (-72,-206), (227,227,227), 1, (250,250,250))
besr1((-72,-206), (-45,-207), (-53,-161), (-53,-161), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-103,-154)
t.penup()
t.end_fill()
t.begin_fill()
besr1((-57,-163), (-57,-163), (-58,-205), (-26,-207), (227,227,227), 1, (250,250,250))
besr1((-26,-207), (5,-210), (0,-164), (0,-164), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(-57,-163)
t.penup()
t.end_fill()
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t.begin_fill()
besr1((173,-193), (173,-193), (163,-177), (154,-178), (227,227,227), 1, (250,250,250))
besr1((154,-178), (139,-180), (141,-211), (141,-211), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(173,-193)
t.penup()
t.end_fill()
t.begin_fill()
besr1((154,-206), (154,-206), (141,-183), (126,-187), (227,227,227), 1, (250,250,250))
besr1((126,-187), (110,-193), (112,-222), (112,-222), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(154,-206)
t.penup()
t.end_fill()
t.begin_fill()
besr1((118,-222), (118,-222), (110,-186), (91,-187), (227,227,227), 1, (250,250,250))
besr1((91,-187), (72,-190), (68,-231), (68,-231), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(118,-222)
t.penup()
t.end_fill()
t.begin_fill()
besr1((80,-231), (80,-231), (77,-200), (57,-198), (227,227,227), 1, (250,250,250))
besr1((57,-198), (38,-197), (29,-235), (29,-235), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(80,-231)
t.penup()
t.end_fill()
t.begin_fill()
besr1((45,-236), (45,-236), (38,-200), (18,-200), (227,227,227), 1, (250,250,250))
besr1((18,-200), (-4,-200), (0,-236), (0,-236), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(45,-236)
t.penup()
t.end_fill()
t.begin_fill()
besr1((184,-142), (184,-142), (186,-184), (170,-186), (227,227,227), 1, (250,250,250))
besr1((170,-186), (154,-188), (150,-152), (150,-152), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(184,-142)
t.penup()
t.end_fill()
t.begin_fill()
besr1((163,-145), (163,-145), (166,-187), (144,-190), (227,227,227), 1, (250,250,250))
besr1((144,-190), (122,-194), (141,-140), (141,-140), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(163,-145)
t.penup()
t.end_fill()
t.begin_fill()
besr1((140,-152), (140,-152), (144,-197), (115,-198), (227,227,227), 1, (250,250,250))
besr1((115,-198), (87,-200), (92,-158), (92,-158), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(140,-152)
t.penup()
t.end_fill()
t.begin_fill()
besr1((103,-154), (103,-154), (102,-207), (72,-206), (227,227,227), 1, (250,250,250))
besr1((72,-206), (45,-207), (53,-161), (53,-161), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(103,-154)
t.penup()
t.end_fill()
t.begin_fill()
besr1((57,-163), (57,-163), (58,-205), (26,-207), (227,227,227), 1, (250,250,250))
besr1((26,-207), (-5,-210), (0,-164), (0,-164), (227,227,227), 1, (250,250,250))
t.pendown()
t.goto(57,-163)
t.penup()
t.end_fill()
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t.begin_fill()
besr1((-196,-142), (-179,-153), (-92,-169), (0,-169), (253,209,172), 1, (253,209,172))
besr1((0,-169), (92,-169), (179,-153), (196,-142), (253,209,172), 1, (253,209,172))
t.pendown()
t.goto(196,-100)
t.goto(-196,-100)
t.goto(-196,-142)
t.penup()
t.end_fill()
t.begin_fill()
besr1((0,-232), (-94,-232), (-140,-209), (-175,-184), (253,209,172), 1, (253,209,172))
besr1((-175,-184), (-207,-161), (-202,-138), (-196,-142), (253,209,172), 1, (253,209,172))
t.pendown()
t.goto(-213,-126)
t.goto(-213,-186)
t.goto(-115,-237)
t.goto(0,-250)
t.goto(115,-237)
t.goto(213,-186)
t.goto(213,-126)
t.goto(196,-142)
t.penup()
besr1((196,-142), (202,-138), (207,-161), (175,-184), (253,209,172), 1, (253,209,172))
besr1((175,-184), (140,-209), (94,-232), (0,-232), (253,209,172), 1, (253,209,172))
t.end_fill()
t.penup()
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
besr1((0,-169), (-92,-169), (-179,-153), (-196,-142), (213,96,95), 2, (0,0,0))
besr1((-196,-142), (-202,-138), (-207,-161), (-175,-184), (213,96,95), 2, (0,0,0))
besr1((-175,-184), (-140,-209), (-94,-232), (0,-232), (213,96,95), 2, (0,0,0))
besr1((0,-232), (94,-232), (140,-209), (175,-184), (213,96,95), 2, (0,0,0))
besr1((175,-184), (207,-161), (202,-138), (196,-142), (213,96,95), 2, (0,0,0))
besr1((196,-142), (179,-153), (92,-169), (0,-169), (213,96,95), 2, (0,0,0))
#鼻
t.begin_fill()
besr2((-65,-124), (-55,-99), (-29,-80), (0,-80), (0,0,0), 4, (247,201,195))
besr3((0,-80), (29,-80), (55,-99), (65,-124), (0,0,0), 4, (247,201,195))
t.pendown()
t.pencolor(247,201,195)
t.goto(-65,-124)
t.penup()
t.end_fill()
t.penup()
t.goto(-40,-124)
t.begin_fill()
besr4((-40,-124), (-24,-107), (-10,-104), (-11,-120), (0,0,0), 4, (153,82,82))
t.end_fill()
t.penup()
t.goto(11,-120)
t.begin_fill()
besr4((11,-120), (10,-104), (24,-107), (40,-124), (0,0,0), 4, (153,82,82))
t.end_fill()
#眉眼
besr3((-47,78), (-83,114), (-145,129), (-212,69), (0,0,0), 20, (247,201,195))
besr3((47,78), (83,114), (145,129), (212,69), (0,0,0), 20, (247,201,195))
t.begin_fill()
besr1((-120,60), (-163,63), (-200,22), (-203,-28), (0,0,0), 16, (255,255,255))
besr1((-203,-28), (-207,-80), (-175,-123), (-132,-124), (0,0,0), 16, (255,255,255))
besr1((-132,-124), (-90,-126), (-53,-86), (-49,-35), (0,0,0), 16, (255,255,255))
besr1((-49,-35), (-46,16), (-77,59), (-120,60), (0,0,0), 16, (255,255,255))
t.end_fill()
t.begin_fill()
besr1((120,60), (163,63), (200,22), (203,-28), (0,0,0), 16, (255,255,255))
besr1((203,-28), (207,-80), (175,-123), (132,-124), (0,0,0), 16, (255,255,255))
besr1((132,-124), (90,-126), (53,-86), (49,-35), (0,0,0), 16, (255,255,255))
besr1((49,-35), (46,16), (77,59), (120,60), (0,0,0), 16, (255,255,255))
t.end_fill()
t.begin_fill()
besr1((-106,-21), (-120,-21), (-130,-33), (-130,-47), (46,9,11), 4, (46,9,11))
besr1((-130,-47), (-130,-62), (-120,-73), (-106,-73), (46,9,11), 4, (46,9,11))
besr1((-106,-73), (-93,-73), (-82,-62), (-82,-47), (46,9,11), 4, (46,9,11))
besr1((-82,-47), (-82,-33), (-93,-21), (-106,-21), (46,9,11), 4, (46,9,11))
t.end_fill()
t.begin_fill()
besr1((106,-21), (120,-21), (130,-33), (130,-47), (46,9,11), 4, (46,9,11))
besr1((130,-47), (130,-62), (120,-73), (106,-73), (46,9,11), 4, (46,9,11))
besr1((106,-73), (93,-73), (82,-62), (82,-47), (46,9,11), 4, (46,9,11))
besr1((82,-47), (82,-33), (93,-21), (106,-21), (46,9,11), 4, (46,9,11))
t.end_fill()
t.begin_fill()
t.penup()
t.goto(-97, -38)
t.pencolor(255,255,255)
t.fillcolor(255,255,255)
t.pendown()
t.circle(4)
t.penup()
t.end_fill()
t.begin_fill()
t.penup()
t.goto(114, -38)
t.pencolor(255,255,255)
t.fillcolor(255,255,255)
t.pendown()
t.circle(4)
t.penup()
t.end_fill()
t.goto(-400,400)
#help(besr1) # 函数说明
t.done()