前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >休闲娱乐|手把手教你在Python中使用turtle模块实现二次元少女(二)代码部分1

休闲娱乐|手把手教你在Python中使用turtle模块实现二次元少女(二)代码部分1

原创
作者头像
Aion
发布2024-04-07 01:16:23
7101
代码可运行
发布2024-04-07 01:16:23
举报
运行总次数:1
代码可运行

示例代码

下面是整个绘制过程的所有代码,可以粘贴到文件中运行。

代码语言:python
代码运行次数:1
复制
#!/usr/bin/python3
# -*- coding: <encoding name> -*-

import turtle as te

def plotLine(points, pencolor=None, width=None, speed=None):
    '''
    功能:画折线
    参数:
    - points : 一系列点,用列表或元组表示
    - pencolor : 画笔颜色,默认不变
    - width : 画笔宽度,默认不变
    - speed : 绘制速度,默认不变
    '''
    # 记录旧参数
    oldpencolor = te.pencolor()
    oldwidth = te.width()
    oldspeed = te.speed()

    # 修改新参数
    if pencolor is not None:
        te.pencolor(pencolor)
    if width is not None:
        te.width(width)
    if speed is not None:
        te.speed(speed)
    
    # 绘制折线
    te.up()
    te.goto(points[0])
    te.down()
    for point in points[1:]:
        te.goto(point)
    
    # 恢复旧参数
    te.pencolor(oldpencolor)
    te.width(oldwidth)
    te.speed(oldspeed)


def plotPoly(points, fill=False, pencolor=None, fillcolor=None,
             width=None, speed=None):
    '''
    功能:绘制封闭多边形
    参数:
    - points : 一系列点,用列表或元组表示
    - fill : 是否填充,默认不填充
    - pencolor : 画笔颜色,默认不变
    - fillcolor : 填充颜色,默认不变
    - width : 画笔宽度,默认不变
    - speed : 绘制速度,默认不变
    '''
    # 保存旧参数
    oldfillcolor = te.fillcolor()

    # 更新新参数
    if fillcolor is not None:
        te.fillcolor(fillcolor)

    # 绘制封闭多边形
    points_plotline = list(points) + [points[0]]
    if fill:
        te.begin_fill()
        plotLine(points_plotline, pencolor, width, speed)
        te.end_fill()
    else:
        plotLine(points_plotline, pencolor, width, speed)

    # 恢复旧参数
    te.fillcolor(oldfillcolor)


# 设置一些参数
te.setup(512, 724, 100, 30)
te.turtlesize(1.5, 1.5, 1.5)
te.speed(10)

# 绘图

# 1、外套、内搭、胳膊、领带部分

# 外套轮廓
points = [
    (-26, 153), (-29, 152), (-30, 151), (-32, 148), (-36, 145), 
    (-41, 141), (-47, 136), (-54, 132), (-60, 128), (-67, 124), 
    (-76, 119), (-79, 116), (-82, 114), (-85, 109), (-87, 105), 
    (-90, 98), (-91, 91), (-92, 86), (-92, 82), (-93, 80), 
    (-95, 78), (-97, 76), (-100, 74), (-103, 71), (-106, 68), 
    (-107, 67), (-107, 60), (-108, 54), (-109, 47), (-109, 45), 
    (-112, 42), (-113, 41), (-114, 38), (-118, 33), (-121, 29), 
    (-123, 26), (-124, 25), (-127, 21), (-129, 18), (-133, 13), 
    (-136, 9), (-138, 6), (-141, 3), (-143, 0), (-146, -4), 
    (-149, -8), (-153, -13), (-156, -17), (-160, -22), (-161, -23), 
    (-162, -24), (-164, -27), (-168, -30), (-171, -32), (-172, -33), 
    (-173, -34), (-172, -37), (-171, -40), (-170, -43), (-169, -46), 
    (-168, -48), (-167, -52), (-166, -55), (-165, -58), (-164, -61), 
    (-163, -64), (-162, -67), (-161, -70), (-159, -77), (-158, -80), 
    (-157, -82), (-156, -84), (-154, -88), (-151, -93), (-148, -98), 
    (-144, -105), (-140, -111), (-137, -116), (-134, -120), (-130, -126), 
    (-127, -131), (-123, -136), (-119, -142), (-116, -146), (-113, -150), 
    (-112, -151), (-112, -152), (-111, -153), (-109, -153), (-107, -152), 
    (-106, -151), (-105, -154), (-103, -158), (-102, -160), (-99, -160), 
    (-95, -160), (-94, -162), (-93, -163), (-93, -163), (-94, -165), 
    (-94, -171), (-93, -175), (-92, -179), (-95, -188), (-98, -198), 
    (-102, -209), (-104, -216), (-105, -220), (-105, -227), (-104, -230), 
    (-102, -236), (-100, -239), (-97, -243), (-96, -238), (-95, -233), 
    (-94, -224), (-94, -217), (-93, -215), (-88, -211), (-82, -207), 
    (-76, -203), (-70, -199), (-67, -197), (-65, -194), (-64, -191), 
    (-63, -188), (-62, -181), (-61, -174), (-60, -166), (-59, -157), 
    (-58, -143), (-53, -139), (-48, -135), (-42, -130), (-37, -126), 
    (-33, -123), (-29, -120), (-25, -117), (-19, -113), (-13, -109), 
    (-7, -105), (-1, -101), (4, -98), (9, -95), (14, -92), 
    (18, -90), (19, -91), (19, -97), (20, -105), (21, -113), 
    (22, -121), (23, -129), (24, -136), (25, -138), (26, -140), 
    (31, -140), (35, -137), (39, -134), (42, -132), (45, -130), 
    (50, -127), (56, -123), (63, -119), (70, -115), (77, -111), 
    (86, -107), (91, -105), (95, -104), (98, -103), (104, -103), 
    (116, -103), (124, -105), (131, -108), (140, -112), (148, -116), 
    (153, -119), (159, -123), (163, -127), (167, -131), (171, -136), 
    (174, -140), (177, -144), (180, -147), (181, -144), (182, -140), 
    (182, -138), (181, -136), (177, -131), (173, -127), (169, -122), 
    (165, -117), (162, -113), (156, -105), (151, -99), (146, -93), 
    (140, -86), (134, -80), (129, -74), (123, -68), (118, -63), 
    (113, -58), (108, -53), (103, -46), (98, -40), (95, -36), 
    (93, -32), (92, -30), (91, -27), (89, -23), (87, -18), 
    (85, -11), (83, -2), (82, 4), (81, 12), (81, 21), 
    (81, 28), (82, 34), (83, 38), (84, 44), (86, 53), 
    (88, 62), (89, 66), (90, 70), (91, 74), (91, 77), 
    (96, 70), (102, 61), (107, 54), (109, 51), (110, 47), 
    (118, 39), (124, 33), (127, 31), (132, 25), (136, 19), 
    (140, 15), (144, 13), (148, 10), (153, 7), (159, 3), 
    (161, 2), (166, 2), (170, 3), (173, 4), (175, 7), 
    (177, 14), (180, 21), (183, 27), (186, 34), (189, 39), 
    (189, 46), (190, 50), (191, 54), (192, 57), (193, 60), 
    (194, 62), (194, 64), (193, 66), (192, 68), (189, 71), 
    (188, 73), (186, 75), (185, 76), (184, 79), (183, 84), 
    (182, 91), (181, 96), (180, 103), (179, 108), (178, 114), 
    (177, 119), (176, 126), (175, 132), (174, 139), (173, 146), 
    (172, 148), (170, 150), (167, 152), (164, 153), (161, 154), 
    (156, 154), (155, 155), (157, 158), (159, 161), (160, 169), 
    (160, 190), (159, 192), (159, 198), (156, 201), (153, 201), 
    (151, 199), (150, 199), (149, 203), (147, 205), (145, 206), 
    (140, 206), (138, 204), (137, 203), (136, 205), (135, 207), 
    (133, 209), (127, 209), (125, 208), (123, 206), (122, 206), 
    (121, 211), (120, 216), (118, 226), (116, 236), (114, 244), 
    (113, 248), (112, 252), (111, 254), (110, 256), (109, 258), 
    (106, 258), (104, 256), (103, 252), (103, 248), (104, 241), 
    (105, 235), (106, 231), (107, 226), (108, 217), (109, 208), 
    (110, 202), (111, 194), (111, 179), (110, 180), (108, 183), 
    (104, 188), (99, 195), (95, 199), (92, 203), (86, 205), 
    (79, 207), (73, 208), (67, 207), (59, 205), (54, 202), 
    (49, 199), (44, 196), (40, 193), (36, 189), (33, 187), 
    (30, 186), (26, 186), (22, 186), (17, 184), (15, 183), 
    (11, 180), (8, 177), (3, 172), (-3, 167), (-9, 163), 
    (-18, 157), (-20, 155), (-21, 152), (-22, 151), (-24, 152), 
    (-25, 153), (-26, 153), 
    ]
# plotPoly(points, True, pencolor=(0.09, 0.04, 0.09),
#          fillcolor=(0.82, 0.71, 0.61), width=2)
plotPoly(points, True, pencolor=(0.09, 0.04, 0.09),
         fillcolor=(0.38, 0.45, 0.52), width=2)

# 右胳膊细节
points = [
    (-105, -47), (-107, -41), (-108, -39), (-111, -37), (-117, -35), 
    (-122, -33), (-128, -32), (-124, -30), (-119, -28), (-112, -28), 
    (-105, -29), (-102, -30), (-99, -32), (-98, -33), (-97, -35), 
    (-97, -36), (-99, -37), (-100, -37), (-102, -36), (-101, -35), 
    (-100, -34), (-99, -32), (-100, -34), (-102, -37), (-103, -39), 
    (-104, -42), (-104, -46), (-104, -47), 
    ]
plotPoly(points, True, pencolor=(0.09, 0.04, 0.03),
         fillcolor=(0.6, 0.49, 0.44), width=2)

# 右袖子
points = [
    (-109, -147), (-107, -150), (-105, -154), (-103, -158), (-103, -159), 
    (-100, -157), (-97, -151), (-94, -146), (-91, -141), (-88, -136), 
    (-85, -133), (-83, -132), (-80, -133), (-79, -133), (-78, -132), 
    (-78, -129), (-77, -125), (-76, -121), (-76, -118), (-80, -117), 
    (-83, -116), (-85, -115), (-87, -115), (-90, -118), (-93, -121), 
    (-96, -125), (-99, -129), (-102, -133), (-105, -137), (-107, -141), 
    ]
plotPoly(points, True, pencolor=(0.13, 0.09, 0.09),
         fillcolor=(0.98, 1.0, 0.98), width=2)

# 
points = [
    (-108, -146), (-107, -148), (-106, -149), (-104, -145), (-100, -139), 
    (-97, -134), (-94, -130), (-90, -126), (-88, -123), (-86, -122), 
    (-81, -122), (-78, -123), (-77, -121), (-77, -119), (-79, -118), 
    (-83, -117), (-86, -116), (-88, -117), (-92, -122), (-97, -128), 
    (-100, -132), (-103, -136), (-104, -138), (-106, -141), (-107, -144), 
    ]
plotPoly(points, True, pencolor=(0.8, 0.79, 0.82),
         fillcolor=(0.78, 0.82, 0.89), width=1)

# 
points = [
    (-109, -148), (-111, -150), (-112, -151), (-111, -153), (-109, -153), 
    (-107, -152), (-107, -150), (-107, -149), 
    ]
plotPoly(points, True, pencolor=(0.04, 0.07, 0.11),
         fillcolor=(0.6, 0.55, 0.51), width=2)

# 右手
points = [
    (-99, -156), (-97, -158), (-95, -160), (-94, -162), (-94, -168), 
    (-94, -171), (-93, -176), (-92, -179), (-90, -173), (-89, -168), 
    (-88, -163), (-86, -157), (-84, -150), (-82, -144), (-80, -138), 
    (-79, -134), (-79, -133), (-82, -132), (-84, -132), (-85, -133), 
    (-89, -138), (-92, -142), (-95, -147), (-97, -151), (-98, -153), 
    ]
plotPoly(points, True, pencolor=(0.19, 0.15, 0.13),
         fillcolor=(1.0, 0.93, 0.9), width=2)

# 右胳膊
points = [
    (-75, -9), (-81, -14), (-86, -20), (-90, -26), (-93, -29), 
    (-96, -33), (-97, -35), (-97, -36), (-100, -37), (-102, -37), 
    (-104, -41), (-104, -44), (-104, -47), (-103, -50), (-102, -55), 
    (-99, -60), (-98, -64), (-94, -67), (-91, -71), (-89, -72), 
    (-89, -87), (-87, -89), (-85, -91), (-83, -94), (-81, -96), 
    (-79, -99), (-75, -103), (-73, -106), (-73, -94), (-72, -80), 
    (-72, -63), (-72, -51), (-73, -39), (-73, -31), (-74, -19), 
    (-75, -13), (-75, -10), 
    ]
plotPoly(points, True, pencolor=(0.18, 0.14, 0.11),
         fillcolor=(0.99, 0.99, 0.99), width=2)

# 左手
points = [
    (124, 137), (122, 142), (122, 145), (121, 149), (119, 149), 
    (116, 152), (113, 155), (110, 160), (108, 165), (107, 169), 
    (107, 174), (108, 176), (110, 178), (111, 181), (111, 185), 
    (111, 193), (110, 202), (109, 208), (108, 217), (107, 225), 
    (106, 231), (105, 236), (104, 242), (103, 252), (104, 255), 
    (105, 257), (106, 258), (108, 258), (110, 256), (111, 254), 
    (112, 252), (113, 248), (115, 240), (116, 236), (117, 230), 
    (118, 226), (119, 221), (120, 216), (121, 211), (122, 207), 
    (123, 206), (125, 208), (127, 209), (130, 210), (133, 209), 
    (135, 207), (136, 206), (137, 204), (139, 205), (141, 206), 
    (145, 206), (147, 205), (149, 203), (150, 200), (151, 199), 
    (152, 200), (154, 201), (156, 201), (157, 200), (158, 199), 
    (159, 197), (159, 194), (159, 192), (160, 191), (160, 188), 
    (160, 171), (159, 164), (159, 161), (158, 159), (157, 158), 
    (156, 156), (156, 152), (156, 147), (156, 144), (154, 141), 
    (152, 139), (150, 136), (148, 135), (147, 133), (145, 131), 
    (144, 130), (143, 129), (140, 127), (135, 128), (133, 129), 
    (131, 130), (128, 132), (124, 135), 
    ]
plotPoly(points, True, pencolor=(0.04, 0.04, 0.09),
         fillcolor=(1.0, 0.93, 0.9), width=2)

# 左手
points = [
    (117, 167), (121, 170), (124, 173), (125, 174), (129, 178), 
    (131, 181), (132, 184), (133, 186), (132, 190), (131, 191), 
    (130, 192), (129, 193), (127, 193), (125, 191), (122, 189), 
    (118, 185), (113, 181), (111, 179), (108, 177), (107, 175), 
    (106, 172), (107, 168), (109, 164), (111, 158), (115, 153), 
    (117, 151), (121, 149), (125, 148), (130, 149), (132, 150), 
    ]
plotLine(points, pencolor=(0.05, 0.05, 0.04), width=2)

# 
points = [
    (123, 206), (123, 202), (124, 199), (125, 198), (126, 196), 
    (127, 193), 
    ]
plotLine(points, pencolor=(0.05, 0.02, 0.01), width=2)

# 
points = [
    (137, 204), (138, 200), (139, 197), (139, 189), (139, 186), 
    (138, 182), (138, 180), (136, 179), (135, 178), (133, 178), 
    (130, 179), 
    ]
plotLine(points, pencolor=(0.03, 0.0, 0.0), width=2)

# 
points = [
    (150, 200), (150, 194), (149, 190), (148, 186), (147, 183), 
    (146, 180), (145, 179), (144, 178), (142, 178), (140, 178), 
    (139, 178), (138, 180), 
    ]
plotLine(points, pencolor=(0.05, 0.02, 0.01), width=2)

# 
points = [
    (159, 195), (159, 192), (158, 190), (157, 185), (156, 184), 
    (155, 183), (152, 181), (150, 180), (149, 179), (148, 179), 
    (146, 180), 
    ]
plotLine(points, pencolor=(0.09, 0.01, 0.0), width=2)

# 
points = [
    (132, 178), (133, 175), (135, 172), (136, 169), (137, 165), 
    ]
plotLine(points, pencolor=(0.01, 0.02, 0.03), width=2)

# 
points = [
    (144, 151), (149, 151), (152, 152), (154, 154), (156, 156), 
    ]
plotLine(points, pencolor=(0.09, 0.04, 0.05), width=2)

# 
points = [
    (122, 145), (117, 143), (114, 142), (113, 140), (114, 137), 
    (115, 133), (117, 129), (117, 126), (120, 123), (125, 119), 
    (130, 116), (134, 114), (139, 112), (144, 113), (147, 115), 
    (152, 119), (156, 124), (159, 127), (162, 131), (163, 134), 
    (163, 138), (162, 143), (161, 148), (161, 150), (158, 152), 
    (156, 152), (156, 147), (157, 146), (160, 149), (157, 146), 
    (157, 145), (154, 141), (151, 138), (149, 135), (146, 132), 
    (144, 130), (141, 128), (138, 127), (134, 128), (131, 130), 
    (128, 132), (125, 134), (124, 135), (122, 137), (119, 139), 
    (117, 140), (123, 137), (123, 140), (123, 141), (122, 144), 
    ]
plotPoly(points, True, pencolor=(0.13, 0.08, 0.07),
         fillcolor=(0.99, 1.0, 0.99), width=2)

# 袖子
points = [
    (112, 139), (114, 135), (115, 132), (116, 130), (116, 128), 
    (115, 128), (112, 130), (110, 131), (108, 132), (106, 133), 
    (106, 134), (108, 136), (110, 138), 
    ]
plotPoly(points, True, pencolor=(0.68, 0.57, 0.48),
         fillcolor=(0.59, 0.48, 0.39), width=1)

# 袖子
points = [
    (162, 151), (162, 146), (163, 141), (164, 136), (166, 138), 
    (168, 141), (169, 143), (170, 145), (170, 147), (168, 148), 
    (165, 150), 
    ]
plotPoly(points, True, pencolor=(0.68, 0.6, 0.55),
         fillcolor=(0.59, 0.48, 0.39), width=1)

# 袖子
points = [
    (172, 148), (170, 143), (168, 139), (165, 135), (162, 131), 
    (159, 127), (156, 124), (152, 119), (149, 116), (146, 114), 
    (143, 113), (140, 112), (136, 113), (133, 114), (129, 117), 
    (125, 119), (124, 120), (120, 123), (116, 126), (113, 128), 
    (110, 130), (108, 131), (105, 133), 
    ]
plotLine(points, pencolor=(0.03, 0.08, 0.02), width=1)

# 右胳膊线条
points = [
    (59, 202), (56, 198), (54, 195), (52, 191), (51, 189), 
    (50, 186), (49, 183), (48, 179), (47, 172), (46, 163), 
    (47, 155), (49, 149), (50, 145), (52, 140), (53, 139), 
    ]
plotLine(points, pencolor=(0.13, 0.18, 0.12), width=1)

# 
points = [
    (52, 147), (57, 137), (61, 129), (66, 119), (71, 111), 
    (76, 102), (82, 92), (85, 87), (90, 79), (94, 73), 
    ]
plotLine(points, pencolor=(0.13, 0.19, 0.19), width=2)

# 
points = [
    (48, 137), (52, 131), (54, 129), (58, 125), (62, 121), 
    (64, 119), (68, 115), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.14), width=2)

# 
points = [
    (88, 120), (92, 108), (97, 95), (100, 85), (102, 78), 
    (104, 71), (105, 67), (107, 60), (108, 53), 
    ]
plotLine(points, pencolor=(0.18, 0.11, 0.05), width=2)

# 
points = [
    (120, 147), (119, 146), (115, 144), (112, 142), (109, 140), 
    (105, 138), (103, 135), (103, 131), (104, 125), (105, 119), 
    (106, 114), (107, 110), (108, 104), (109, 101), (111, 93), 
    (113, 84), (114, 79), (118, 60), (114, 75), (114, 70), 
    (113, 67), (112, 63), (113, 59), (114, 56), (116, 52), 
    (118, 48), (120, 45), 
    ]
plotLine(points, pencolor=(0.16, 0.15, 0.15), width=2)

# 
points = [
    (184, 77), (185, 76), (185, 72), (185, 70), (186, 67), 
    (186, 63), 
    ]
plotLine(points, pencolor=(0.14, 0.11, 0.12), width=2)

# 衣服装饰
points = [
    (-77, 115), (-78, 111), (-79, 108), (-80, 102), 
    ]
plotLine(points, pencolor=(0.64, 0.56, 0.48), width=1)

# 
points = [
    (-77, 104), (-79, 100), (-82, 95), (-85, 91), (-88, 86), 
    (-91, 80), (-93, 76), (-95, 71), (-97, 67), (-98, 61), 
    (-99, 57), (-98, 51), (-97, 48), (-95, 42), (-92, 35), 
    (-88, 27), (-85, 22), (-81, 14), (-76, 8), (-76, -2), 
    (-75, -9), 
    ]
plotLine(points, pencolor=(0.12, 0.07, 0.03), width=2)

# 
points = [
    (-37, 143), (-40, 138), (-45, 131), (-48, 125), (-54, 118), 
    (-58, 112), (-62, 106), (-66, 99), (-71, 91), (-75, 86), 
    (-78, 80), (-82, 73), (-85, 68), (-86, 65), (-86, 62), 
    (-85, 61), (-84, 62), (-82, 65), (-79, 68), (-74, 73), 
    (-70, 77), 
    ]
plotLine(points, pencolor=(0.04, 0.0, 0.0), width=2)

# 衣服装饰
points = [
    (-34, 145), (-35, 141), (-39, 133), (-42, 126), (-45, 119), 
    (-49, 112), (-51, 108), (-54, 103), (-57, 98), (-59, 94), 
    (-62, 88), (-66, 82), (-70, 77), (-72, 74), (-74, 69), 
    (-76, 66), (-79, 60), (-81, 55), (-82, 53), (-83, 51), 
    (-84, 48), (-84, 45), (-82, 41), (-80, 37), (-76, 30), 
    (-74, 24), (-71, 18), (-69, 12), (-67, 6), (-65, 0), 
    (-64, -7), (-63, -11), (-62, -17), (-61, -24), (-60, -28), 
    (-59, -33), 
    ]
plotLine(points, pencolor=(0.2, 0.2, 0.2), width=1)

# 
points = [
    (-70, 73), (-74, 66), (-77, 58), (-79, 55), (-81, 50), 
    (-82, 48), (-82, 45), (-81, 42), (-77, 35), (-74, 30), 
    (-71, 22), (-69, 16), (-65, 7), (-64, 1), (-63, -5), 
    (-62, -11), (-60, -19), (-59, -25), (-59, -33), 
    ]
plotLine(points, pencolor=(0.2, 0.2, 0.2), width=1)

# 
points = [
    (-58, -42), (-60, -42), (-61, -43), (-62, -46), (-61, -49), 
    (-60, -51), (-59, -51), (-58, -50), (-57, -47), (-57, -44), 
    ]
plotPoly(points, True, pencolor=(0.13, 0.09, 0.05),
         fillcolor=(0.39, 0.33, 0.32), width=2)

# 
points = [
    (-59, -81), (-60, -81), (-61, -82), (-62, -85), (-61, -89), 
    (-60, -90), (-59, -90), (-58, -89), (-57, -86), (-58, -82), 
    ]
plotPoly(points, True, pencolor=(0.16, 0.09, 0.05),
         fillcolor=(0.39, 0.33, 0.32), width=2)

# 
points = [
    (-62, -122), (-61, -122), (-60, -124), (-59, -128), (-60, -132), 
    (-61, -133), (-62, -133), (-63, -132), (-64, -128), (-64, -125), 
    (-63, -123), 
    ]
plotPoly(points, True, pencolor=(0.16, 0.09, 0.05),
         fillcolor=(0.39, 0.33, 0.32), width=2)

# 右口袋
points = [
    (-75, -109), (-72, -106), (-72, -114), (-72, -117), (-73, -122), 
    (-73, -124), (-74, -126), (-76, -129), (-77, -129), (-77, -125), 
    (-76, -120), (-76, -118), (-75, -112), 
    ]
plotPoly(points, True, pencolor=(0.15, 0.09, 0.0),
         fillcolor=(0.74, 0.68, 0.65), width=2)

# 衣服装饰
points = [
    (0, 134), (5, 136), (9, 138), (15, 140), (18, 142), 
    (23, 143), (27, 144), (26, 154), (27, 164), (27, 171), 
    (27, 177), (27, 183), (27, 184), (28, 186), 
    ]
plotLine(points, pencolor=(0.16, 0.09, 0.04), width=2)

# 
points = [
    (19, 138), (14, 137), (10, 135), (6, 133), (3, 132), 
    (2, 131), (0, 130), (0, 129), (11, 130), (22, 130), 
    ]
plotLine(points, pencolor=(0.12, 0.06, 0.04), width=2)

# 
points = [
    (-1, 126), (23, 126), 
    ]
plotLine(points, pencolor=(0.28, 0.21, 0.18), width=2)

# 
points = [
    (23, 127), (24, 124), (23, 120), (22, 115), (20, 103), 
    (18, 94), (17, 87), (16, 83), (15, 78), (13, 69), 
    (12, 62), (11, 55), (10, 48), (9, 40), (9, 36), 
    (8, 31), (8, 22), 
    ]
plotLine(points, pencolor=(0.12, 0.13, 0.15), width=1)

# 衣服左边长线条
points = [
    (27, 119), (27, 114), (26, 109), (25, 103), (23, 97), 
    (22, 93), (20, 84), (18, 75), (16, 66), (15, 57), 
    (14, 49), (13, 42), (12, 34), (11, 23), (11, 13), 
    ]
plotLine(points, pencolor=(0.12, 0.12, 0.12), width=1)

# 左边胸前装饰
points = [
    (27, 117), (33, 121), (37, 125), (43, 129), (44, 128), 
    (44, 125), (45, 123), (46, 120), (45, 119), (40, 116), 
    (37, 113), (32, 110), (30, 108), (26, 105), (25, 106), 
    (26, 111), (27, 116), 
    ]
plotLine(points, pencolor=(0.17, 0.12, 0.08), width=2)

# 左边扣子缝
points = [
    (13, 6), (17, 9), 
    ]
plotLine(points, pencolor=(0.24, 0.12, 0.03), width=2)

# 左边扣子缝1
points = [
    (15, -28), (20, -25), 
    ]
plotLine(points, pencolor=(0.24, 0.12, 0.03), width=2)

# 左边扣子缝1
points = [
    (18, -62), (25, -58), 
    ]
plotLine(points, pencolor=(0.24, 0.12, 0.03), width=2)

# 左口袋
points = [
    (47, -19), (47, -23), (48, -28), (49, -33), (50, -36), 
    (52, -38), (55, -37), (61, -34), (66, -32), (72, -30), 
    (77, -29), (91, -29), (90, -25), (88, -21), (87, -17), 
    (85, -12), (85, -11), (82, -11), (78, -10), (71, -11), 
    (67, -12), (60, -13), (52, -17), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.04), width=2)

# 里面衣服
points = [
    (-25, 153), (-27, 153), (-29, 151), (-32, 147), (-34, 144), 
    (-36, 139), (-38, 135), (-41, 129), (-42, 126), (-45, 120), 
    (-47, 116), (-50, 112), (-53, 106), (-55, 102), (-58, 95), 
    (-61, 90), (-62, 88), (-64, 83), (-65, 78), (-66, 71), 
    (-67, 64), (-68, 57), (-68, 50), (-67, 44), (-66, 35), 
    (-64, 22), (-62, 12), (-61, 4), (-60, -3), (-59, -10), 
    (-58, -17), (-57, -26), (-56, -37), (-56, -79), (-56, -98), 
    (-56, -116), (-56, -122), (-57, -129), (-58, -134), (-58, -138), 
    (-58, -143), (-57, -143), (-52, -138), (-48, -134), (-44, -131), 
    (-38, -127), (-34, -123), (-29, -119), (-21, -114), (-13, -109), 
    (-2, -102), (7, -96), (14, -92), (18, -90), (18, -83), 
    (17, -78), (16, -68), (15, -60), (14, -51), (13, -42), 
    (12, -32), (11, -22), (10, -12), (9, -2), (8, 5), 
    (6, 19), (4, 30), (1, 46), (-1, 60), (-3, 74), 
    (-5, 87), (-6, 97), (-7, 107), (-7, 117), (-6, 123), 
    (-5, 128), (-2, 134), (0, 139), (2, 144), (5, 150), 
    (7, 155), (9, 159), (11, 163), (13, 167), (16, 171), 
    (19, 179), (20, 184), (18, 185), (15, 183), (11, 180), 
    (7, 176), (4, 173), (0, 169), (-5, 166), (-10, 162), 
    (-15, 159), (-18, 157), (-20, 155), (-21, 151), (-23, 151), 
    (-24, 152), (-26, 153), 
    ]
plotPoly(points, True, pencolor=(0.09, 0.04, 0.09),
         fillcolor=(1.0, 1.0, 1.0), width=2)

# 里面衣服下边的线条
points = [
    (-57, -130), (-50, -124), (-43, -118), (-36, -112), (-29, -107), 
    (-23, -103), (-17, -99), (-12, -96), (-6, -92), (2, -87), 
    (8, -83), (13, -80), (17, -78), 
    ]
plotLine(points, pencolor=(0.18, 0.2, 0.12), width=2)

# 领口
points = [
    (13, 167), (16, 172), (19, 177), (21, 183), (20, 185), 
    (17, 184), (13, 182), (10, 179), (7, 175), (3, 172), 
    (-3, 167), (-7, 164), (-11, 161), (-16, 159), (-18, 157), 
    (-20, 156), (-20, 153), (-21, 151), (-23, 150), (-24, 152), 
    (-25, 153), (-27, 153), (-30, 151), (-32, 147), (-34, 143), 
    (-36, 139), (-38, 134), (-41, 128), (-43, 124), (-45, 119), 
    (-48, 113), (-51, 109), (-51, 108), (-49, 104), (-47, 100), 
    (-45, 96), (-43, 93), (-41, 91), (-39, 93), (-37, 96), 
    (-34, 99), (-31, 103), (-28, 108), (-25, 113), (-22, 117), 
    (-18, 122), (-14, 126), (-11, 129), (-5, 135), (-3, 138), 
    (-1, 137), (0, 139), (2, 145), (6, 154), (9, 159), 
    (11, 163), 
    ]
plotPoly(points, True, pencolor=(0.21, 0.16, 0.16),
         fillcolor=(1.0, 0.98, 1.0), width=2)

# 领口线条
points = [
    (-11, 161), (-9, 159), (-8, 157), (-6, 154), (-4, 151), 
    (-2, 149), (1, 146), (2, 144), 
    ]
plotLine(points, pencolor=(0.21, 0.15, 0.12), width=2)

# 
points = [
    (-19, 156), (-16, 154), (-13, 149), (-9, 144), (-6, 141), 
    (-4, 139), (-2, 137), 
    ]
plotLine(points, pencolor=(0.13, 0.1, 0.06), width=2)

# 
points = [
    (-45, 119), (-45, 113), (-44, 116), (-41, 122), (-38, 129), 
    (-35, 135), (-33, 140), (-32, 142), (-31, 144), (-30, 145), 
    ]
plotLine(points, pencolor=(0.16, 0.04, 0.06), width=2)

# 
points = [
    (-22, 142), (-24, 145), (-25, 148), (-25, 150), (-27, 151), 
    (-29, 148), (-30, 146), (-29, 143), (-28, 140), (-27, 139), 
    (-25, 137), (-25, 134), (-27, 131), (-28, 128), (-30, 124), 
    (-33, 119), (-36, 113), (-39, 107), (-42, 100), (-43, 98), 
    (-44, 95), (-44, 92), (-44, 86), (-45, 78), (-45, 51), 
    (-44, 21), (-43, -7), (-42, -31), (-41, -49), (-40, -65), 
    (-39, -76), (-38, -88), (-37, -97), (-35, -98), (-32, -100), 
    (-29, -102), (-28, -101), (-27, -98), (-26, -94), (-25, -90), 
    (-24, -87), (-23, -85), (-24, -66), (-25, -47), (-26, -35), 
    (-27, -25), (-28, -14), (-30, 4), (-31, 14), (-32, 28), 
    (-33, 39), (-34, 59), (-34, 85), (-34, 103), (-30, 112), 
    (-27, 119), (-24, 126), (-21, 133), (-20, 136), (-19, 139), 
    (-19, 140), 
    ]
plotPoly(points, True, pencolor=(0.04, 0.0, 0.0),
         fillcolor=(0.78, 0.4, 0.35), width=2)

# 领带(上一条也是领带)
points = [
    (-16, 154), (-14, 152), (-13, 149), (-15, 147), (-15, 144), 
    (-19, 141), (-21, 139), (-24, 137), (-27, 135), (-29, 134), 
    (-30, 134), (-30, 135), (-29, 136), (-27, 138), (-23, 141), 
    (-20, 143), (-19, 144), (-18, 148), (-17, 151), (-17, 154), 
    ]
plotPoly(points, True, pencolor=(0.07, 0.08, 0.14),
         fillcolor=(0.81, 0.38, 0.34), width=2)

# 里边衣服上线条
points = [
    (-54, 104), (-52, 99), (-49, 94), (-47, 90), (-45, 87), 
    ]
plotLine(points, pencolor=(0.15, 0.11, 0.15), width=2)

# 里边衣服上线条
points = [
    (-33, 90), (-29, 98), (-25, 105), (-22, 109), (-18, 114), 
    (-14, 119), (-10, 124), (-5, 128), 
    ]
plotLine(points, pencolor=(0.15, 0.11, 0.15), width=2)


# 2、裙子、丝袜、腿部等

# 裙子
points = [
    (-94, -216), (-94, -227), (-96, -238), (-97, -247), (-99, -258), 
    (-100, -266), (-101, -272), (-102, -281), (-103, -288), (-104, -297), 
    (-105, -307), (-106, -325), (-107, -337), (-108, -349), (-108, -363), 
    (249, -365), (248, -358), (244, -346), (239, -330), (238, -327), 
    (239, -317), (239, -307), (238, -303), (238, -300), (242, -297), 
    (245, -294), (245, -289), (244, -285), (244, -281), (243, -278), 
    (242, -272), (241, -267), (240, -263), (239, -259), (238, -256), 
    (237, -254), (238, -252), (241, -249), (244, -245), (244, -243), 
    (242, -239), (237, -230), (233, -224), (228, -216), (224, -210), 
    (219, -202), (214, -195), (210, -189), (204, -181), (201, -176), 
    (196, -170), (189, -160), (183, -151), (178, -145), (172, -137), 
    (168, -132), (161, -124), (151, -118), (140, -113), (133, -109), 
    (127, -106), (122, -104), (116, -103), (100, -103), (93, -104), 
    (90, -105), (83, -108), (77, -111), (70, -115), (59, -121), 
    (51, -126), (42, -132), (38, -135), (34, -138), (31, -139), 
    (28, -141), (25, -140), (24, -136), (23, -129), (22, -121), 
    (21, -112), (20, -104), (19, -96), (19, -92), (18, -90), 
    (11, -93), (2, -100), (-6, -104), (-12, -108), (-19, -113), 
    (-25, -117), (-29, -120), (-37, -126), (-42, -130), (-48, -135), 
    (-54, -140), (-58, -143), (-59, -151), (-59, -158), (-60, -167), 
    (-61, -174), (-62, -181), (-63, -187), (-64, -191), (-65, -194), 
    (-66, -196), (-69, -198), (-72, -200), (-78, -204), (-82, -207), 
    (-86, -210), (-90, -213), (-92, -214), 
    ]
plotPoly(points, True, pencolor=(0.15, 0.16, 0.18),
         fillcolor=(0.38, 0.45, 0.52), width=2)

# 
points = [
    (-74, -202), (-75, -222), (-75, -248), (-75, -285), (-75, -319), 
    (-74, -339), (-74, -346), (-72, -348), (-69, -348), (-65, -350), 
    (-62, -351), 
    ]
plotLine(points, pencolor=(0.13, 0.13, 0.15), width=2)

# 右腿
points = [
    (-77, -363), (-72, -360), (-67, -357), (-63, -355), (-60, -354), 
    (-60, -352), (-61, -351), (-61, -349), (-61, -346), (-62, -345), 
    (-62, -344), (-56, -341), (-50, -338), (-43, -335), (-39, -333), 
    (-34, -331), (-32, -329), (-32, -324), (-33, -321), (-33, -316), 
    (-28, -314), (-24, -312), (-20, -311), (-14, -309), (-8, -307), 
    (-2, -305), (5, -303), (9, -302), (11, -302), (12, -301), 
    (12, -299), (11, -296), (10, -292), (9, -288), (16, -285), 
    (28, -281), (37, -278), (47, -275), (55, -272), (56, -281), 
    (56, -292), (56, -304), (55, -313), (54, -322), (53, -336), 
    (52, -346), (51, -354), (50, -361), (49, -364), 
    ]
plotPoly(points, True, pencolor=(0.11, 0.11, 0.11),
         fillcolor=(0.40, 0.35, 0.32), width=2)

# 左腿
points = [
    (89, -365), (85, -360), (81, -353), (76, -343), (71, -333), 
    (65, -322), (62, -315), (59, -309), (54, -299), (51, -290), 
    (48, -284), (46, -279), (45, -276), (55, -273), (60, -271), 
    (59, -266), (58, -263), (55, -256), (53, -256), (58, -255), 
    (68, -252), (79, -250), (90, -247), (102, -246), (113, -246), 
    (113, -241), (110, -235), (107, -230), (115, -229), (126, -227), 
    (137, -225), (150, -224), (160, -223), (166, -223), (166, -220), 
    (164, -214), (162, -212), (160, -212), (165, -211), (194, -211), 
    (197, -217), (200, -224), (203, -231), (207, -241), (210, -251), 
    (215, -263), (219, -274), (224, -285), (228, -295), (232, -307), 
    (235, -317), (238, -328), (241, -337), (244, -346), (247, -356), 
    (248, -361), (249, -365), 
    ]
plotPoly(points, True, pencolor=(0.19, 0.16, 0.16),
         fillcolor=(0.40, 0.35, 0.32), width=2)

# 裙子褶皱
points = [
    (-48, -135), (-48, -170), (-48, -193), (-47, -212), (-46, -229), 
    (-45, -244), (-44, -258), (-43, -269), (-42, -282), (-41, -294), 
    (-39, -310), (-38, -318), (-38, -319), (-35, -317), (-33, -316), 
    (-35, -317), (-38, -319), (-37, -321), (-36, -323), (-35, -325), 
    (-34, -326), (-32, -328), 
    ]
plotLine(points, pencolor=(0.11, 0.06, 0.06), width=2)

# 
points = [
    (-21, -114), (-20, -129), (-19, -140), (-18, -150), (-17, -159), 
    (-16, -167), (-15, -176), (-14, -185), (-13, -194), (-12, -202), 
    (-11, -211), (-10, -219), (-9, -226), (-8, -233), (-7, -240), 
    (-6, -247), (-5, -252), (-4, -258), (-3, -264), (-2, -270), 
    (-1, -277), (0, -282), (1, -287), (2, -290), (2, -291), 
    (5, -289), (10, -287), (5, -289), (2, -291), (3, -292), 
    (7, -296), (9, -298), (9, -299), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.13), width=2)

# 
points = [
    (5, -97), (8, -108), (11, -122), (16, -140), (21, -159), 
    (27, -184), (33, -205), (39, -226), (44, -244), (47, -255), 
    (49, -258), (58, -269), (59, -270), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.12), width=2)

# 
points = [
    (59, -122), (74, -155), (85, -178), (95, -204), (102, -223), 
    (105, -231), (106, -234), (111, -242), (113, -245), 
    ]
plotLine(points, pencolor=(0.09, 0.05, 0.05), width=2)

# 
points = [
    (98, -103), (112, -125), (123, -143), (132, -160), (143, -179), 
    (152, -197), (160, -212), (164, -221), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.13), width=2)

# 
points = [
    (140, -112), (147, -122), (155, -132), (164, -144), (174, -157), 
    (178, -163), (186, -175), (194, -188), (200, -199), (204, -208), 
    (208, -216), (209, -218), (205, -216), (200, -213), (197, -212), 
    (194, -211), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.13), width=2)

# 
points = [
    (208, -217), (209, -218), (209, -220), (208, -222), (207, -224), 
    (207, -225), (211, -226), (214, -227), (219, -229), (225, -232), 
    (230, -235), (234, -237), (237, -239), (240, -242), (242, -244), 
    (243, -246), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.13), width=2)

# 
points = [
    (67, -326), (68, -332), (70, -338), (72, -345), (74, -351), 
    (75, -356), (76, -359), (76, -361), 
    ]
plotLine(points, pencolor=(0.12, 0.11, 0.13), width=2)


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档