Пример #1
0
    def path_UWLne(cls, ta=None, **kwargs):

        #M 351.69,362.63996 C 349.182,362.63996 346.74976,363.92445 346.2721,366.23486 345.38854,370.50857 353.04278,370.91471 352.96948,368.01242

        z0 = P(0, -0)
        c0 = P(-0.884767, -0)
        c1 = P(-1.74281, -0.45314)
        z1 = P(-1.91131, -1.2682)
        c2 = P(-2.22302, -2.77587)
        c3 = P(0.477231, -2.91915)
        z2 = P(0.451372, -1.89528)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            endknot(*z2)])
Пример #2
0
    def path_HER(self, ta=None, **kwwargs):
        #M 81.185274,260.85791 C 77.451224,261.16118 75.149816,259.82776 77.997579,257.16063 89.296435,246.57846 105.1772,252.15007 108.45317,258.86755

        z0 = P(0, -0)
        c0 = P(-1.31729, -0.106987)
        c1 = P(-2.12918, 0.363414)
        z1 = P(-1.12455, 1.30432)
        c2 = P(2.86144, 5.03747)
        c3 = P(8.46382, 3.07193)
        z2 = P(9.61951, 0.702155)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            endknot(*z2)
        ])
Пример #3
0
    def path_HEL(self, ta=None, **kwwargs):
        #M 94.748513,202.12374 C 92.584676,200.67192 88.441614,201.68923 89.381963,203.8718 92.219104,210.45688 106.16263,212.80428 114.62908,205.37623

        z0 = P(0, -0)
        c0 = P(-0.763354, 0.51217)
        c1 = P(-2.22493, 0.153285)
        z1 = P(-1.8932, -0.616677)
        c2 = P(-0.892319, -2.93975)
        c3 = P(4.02665, -3.76786)
        z2 = P(7.01342, -1.14741)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            endknot(*z2)
        ])
Пример #4
0
    def path_UNER(cls, ta=None, **kwargs):
        #M 338.41114,393.61557 C 339.37031,392.38321 343.80672,385.93798 346.48166,387.87331 348.51403,389.34374 345.30412,394.28454 344.25578,395.06218

        z0 = P(0, -0)
        c0 = P(0.338374, 0.434749)
        c1 = P(1.90344, 2.70848)
        z1 = P(2.8471, 2.02574)
        c2 = P(3.56408, 1.50701)
        c3 = P(2.43169, -0.235998)
        z2 = P(2.06186, -0.510332)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            endknot(*z2)
        ])
Пример #5
0
    def path_SCLsr(cls, ta=None, **kwargs):
        #M 178.218,111.292 C 178.372,112.385 178.517,119.715 178.022,122.52 177.854,123.581 179.52206,123.79715 179.81606,122.13015 180.08806,120.73015 178.376,118.552 178.376,118.552
        z0 = P(0, -0)
        c0 = z0 + PP(0.389395, -81)
        z1 = z0 + PP(3.96159, -91)
        c1 = z1 + PP(1.00483, 79)
        c2 = z1 + PP(0.37896, -98)
        z2 = z1 + PP(0.647675, 12)
        c3 = z2 + PP(0.597157, -100)
        c4 = z2 + PP(0.503124, 79)
        z3 = z2 + PP(1.36069, 111)
        c5 = z3 + PP(0, 0)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            endknot(*z3)])
Пример #6
0
    def path_selNEL(cls, ta=None, **kwargs):
        #M 370.827,135.103 C 381.09465,135.103 402.897,113.255 402.897,103.032

        #z0 = P(0, -0)
        #c0 = P(3.6222, -0)
        #c1 = P(11.3136, 7.70749)
        #z1 = P(11.3136, 11.3139)

        #z0 = P(0, -0)
        #c0 = z0 + P(3.6222, 0)
        #z1 = z0 + P(11.3136, 11.3139)
        #c1 = z1 + P(0, -3.60645)

        z0 = P(0, -0)
        c0 = z0 + PP(3.6222, 0)
        z1 = z0 + PP(16.0001, 45)
        c1 = z1 + PP(3.60645, -90)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            #curve(),
            endknot(*z1)])
Пример #7
0
    def path_SRner(cls, ta=None, **kwargs):
        #M 97.4345,267.449 C 102.22,270.44 102.1519,286.13094 97.4812,291.924

        #z0 = P(0, -0)
        #c0 = P(1.68822, -1.05516)
        #c1 = P(1.66419, -6.59057)
        #z1 = P(0.0164747, -8.63424)

        #z0 = P(0, -0)
        #c0 = z0 + P(1.68822, -1.05516)
        #z1 = z0 + P(0.0164747, -8.63424)
        #c1 = z1 + P(1.64772, 2.04366)

        z0 = P(0, -0)
        c0 = z0 + PP(1.99084, -32)
        z1 = z0 + PP(8.63425, -89)
        #c1 = z1 + PP(2.62517, 51)
        c1 = z1 + PP(2.62517, ta)

        return pyx.metapost.path.path(
            [beginknot(*z0),
             controlcurve(c0, c1),
             endknot(*z1)])
Пример #8
0
    def path_nerSERNE(cls, ta=None, **kwargs):
        #M 58.68,317.131 C 69.7884,317.131 81.3572,343.607 81.3572,356.409 82.119975,355.61526 82.933333,354.82152 84.025366,354.02778

        #z0 = P(0, -0)
        #c0 = P(3.9188, -0)
        #c1 = P(8.00001, -9.34014)
        #z1 = P(8.00001, -13.8564)
        #c2 = P(8.2691, -13.5764)
        #c3 = P(8.55604, -13.2964)
        #z2 = P(8.94128, -13.0164)

        #z0 = P(0, -0)
        #c0 = z0 + P(3.9188, 0)
        #z1 = z0 + P(8.00001, -13.8564)
        #c1 = z1 + P(0, 4.51626)
        #c2 = z1 + P(0.26909, 0.280014)
        #z2 = z1 + P(0.94127, 0.840041)
        #c3 = z2 + P(-0.385245, -0.280014)

        z0 = P(0, -0)
        c0 = z0 + PP(3.9188, 0)
        z1 = z0 + PP(16, -59)
        #z1 = z2 - PP(1.26161, ta + 364)
        c1 = z1 + PP(4.51626, 90)
        c2 = z1 + PP(0.388352, 46)
        z2 = z1 + PP(1.26161, 41)
        c3 = z2 + PP(0.476258, -143)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            #curve(),
            endknot(*z2)
        ])
Пример #9
0
    def path_nerSERNE(cls):
        #M 58.68,258.214 C 64.2342,258.214 70.0186,271.452 70.0186,277.853 70.823361,276.73468 71.61724,276.04912 72.947601,275.41269

        #z0 = P(0, -0)
        #c0 = P(1.9594, -0)
        #c1 = P(4.00001, -4.67007)
        #z1 = P(4.00001, -6.9282)
        #c2 = P(4.28391, -6.53368)
        #c3 = P(4.56397, -6.29183)
        #z2 = P(5.03329, -6.06732)

        #z0 = P(0, -0)
        #c0 = z0 + P(1.9594, 0)
        #z1 = z0 + P(4.00001, -6.9282)
        #c1 = z1 + P(0, 2.25813)
        #c2 = z1 + P(0.283902, 0.394518)
        #z2 = z1 + P(1.03329, 0.860887)
        #c3 = z2 + P(-0.469322, -0.224518)

        z0 = P(0, -0)
        c0 = z0 + PP(1.9594, 0)
        z1 = z0 + PP(8, -59)
        #z1 = z2 - PP(1.34492, ta + 373)
        c1 = z1 + PP(2.25813, 90)
        c2 = z1 + PP(0.48605, 54)
        z2 = z1 + PP(1.34492, 39)
        c3 = z2 + PP(0.520261, -154)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            #curve(),
            endknot(*z2)
        ])
Пример #10
0
    def path_SERNE(cls):
        #M 251.447,135.009 C 257.865,139.503 266.253,148.642 262.786,154.648 263.80391,153.76737 264.77859,152.92997 265.95378,151.89208

        #z0 = P(0, -0)
        #c0 = P(2.26413, -1.58538)
        #c1 = P(5.22323, -4.80942)
        #z1 = P(4.00015, -6.9282)
        #c2 = P(4.35924, -6.61754)
        #c3 = P(4.70309, -6.32212)
        #z2 = P(5.11767, -5.95598)

        #z0 = P(0, -0)
        #c0 = z0 + P(2.26413, -1.58538)
        #z1 = z0 + P(4.00015, -6.9282)
        #c1 = z1 + P(1.22308, 2.11878)
        #c2 = z1 + P(0.359096, 0.310667)
        #z2 = z1 + P(1.11752, 0.972227)
        #c3 = z2 + P(-0.414581, -0.366145)

        z0 = P(0, -0)
        c0 = z0 + PP(2.764, -35)
        z1 = z0 + PP(8.00007, -59)
        #z1 = z2 - PP(1.48124, ta + 359)
        c1 = z1 + PP(2.44646, 60)
        c2 = z1 + PP(0.47483, 40)
        z2 = z1 + PP(1.48124, 41)
        c3 = z2 + PP(0.553118, -138)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            #curve(),
            endknot(*z2)
        ])
Пример #11
0
    def path_UWL(cls, ta=None, **kwargs):
        #M 47.3414,58.6772 C 44.5656,59.468982 42.1255,61.8061 42.1255,64.6774 42.1255,67.5206 45.5236,69.1216 48.5106,67.7917

        #z0 = P(0, -0)
        #c0 = P(-0.975582, -0.27828)
        #c1 = P(-1.83318, -1.09968)
        #z1 = P(-1.83318, -2.10883)
        #c2 = P(-1.83318, -3.1081)
        #c3 = P(-0.638884, -3.67079)
        #z2 = P(0.410927, -3.20338)

        #z0 = P(0, -0)
        #c0 = z0 + P(-0.975582, -0.27828)
        #z1 = z0 + P(-1.83318, -2.10883)
        #c1 = z1 + P(0, 1.00915)
        #c2 = z1 + P(0, -0.999271)
        #z2 = z1 + P(2.24411, -1.09455)
        #c3 = z2 + P(-1.04981, -0.467406)

        z0 = P(0, -0)
        c0 = z0 + PP(1.0145, -164)
        z1 = z0 + PP(2.79423, -131)
        #z1 = z2 - PP(2.49681, ta + 309)
        c1 = z1 + PP(1.00915, 90)
        c2 = z1 + PP(0.999271, -90)
        z2 = z1 + PP(2.49681, -26)
        c3 = z2 + PP(1.14916, -155)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            #curve(),
            endknot(*z2)
        ])
Пример #12
0
    def path_SWNE(cls, ta=None, **kwargs):
        #M 70.0186,221.374 C 64.101355,235.54762 57.710318,249.24745 50.851,262.479 51.764401,261.75619 52.657481,261.04354 53.893874,260.15923

        #z0 = P(0, -0)
        #c0 = P(-2.08747, -5.00014)
        #c1 = P(-4.34209, -9.83313)
        #z1 = P(-6.7619, -14.5009)
        #c2 = P(-6.43968, -14.2459)
        #c3 = P(-6.12462, -13.9945)
        #z2 = P(-5.68845, -13.6826)

        #z0 = P(0, -0)
        #c0 = z0 + P(-2.08747, -5.00014)
        #z1 = z0 + P(-6.7619, -14.5009)
        #c1 = z1 + P(2.41981, 4.6678)
        #c2 = z1 + P(0.322228, 0.254991)
        #z2 = z1 + P(1.07346, 0.818363)
        #c3 = z2 + P(-0.436172, -0.311965)

        z0 = P(0, -0)
        c0 = z0 + PP(5.41839, -112)
        z1 = z0 + PP(16, -115)
        #z1 = z2 - PP(1.34983, ta + 361)
        c1 = z1 + PP(5.25774, 62)
        c2 = z1 + PP(0.410915, 38)
        z2 = z1 + PP(1.34983, 37)
        c3 = z2 + PP(0.536254, -144)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            #curve(),
            endknot(*z2)
        ])
Пример #13
0
    def path_ERNE(cls, ta=None, **kwargs):
        #M 387.51,115.37 C 401.73,110.194 434.929,103.664 432.865,115.37 433.62919,114.73181 434.42045,113.98204 435.48488,113.28297

        #z0 = P(0, -0)
        #c0 = P(5.0165, 1.82598)
        #c1 = P(16.7284, 4.12962)
        #z1 = P(16.0002, -0)
        #c2 = P(16.2698, 0.225139)
        #c3 = P(16.549, 0.489641)
        #z2 = P(16.9245, 0.736258)

        #z0 = P(0, -0)
        #c0 = z0 + P(5.0165, 1.82598)
        #z1 = z0 + P(16.0002, 0)
        #c1 = z1 + P(0.728133, 4.12962)
        #c2 = z1 + P(0.269589, 0.225139)
        #z2 = z1 + P(0.924235, 0.736258)
        #c3 = z2 + P(-0.375507, -0.246616)

        z0 = P(0, -0)
        c0 = z0 + PP(5.33849, 20)
        z1 = z0 + PP(16.0002, 0)
        #z1 = z2 - PP(1.18165, ta + 364)
        c1 = z1 + PP(4.19332, 80)
        c2 = z1 + PP(0.351235, 39)
        z2 = z1 + PP(1.18165, 38)
        c3 = z2 + PP(0.44925, -146)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            #curve(),
            endknot(*z2)
        ])
Пример #14
0
    def path_EL(cls, ta=None, **kwargs):
        #M -804.71298,-208.5292 C -803.35568,-206.56471 -798.58558,-206.21673 -796.19767,-208.55703

        #z0 = P(0, -0)
        #c0 = P(0.478825, -0.693028)
        #c1 = P(2.16161, -0.815788)
        #z1 = P(3.00401, 0.00981781)

        #z0 = P(0, -0)
        #c0 = z0 + P(0.478825, -0.693028)
        #z1 = z0 + P(3.00401, 0.00981781)
        #c1 = z1 + P(-0.842402, -0.825606)

        z0 = P(0, -0)
        c0 = z0 + PP(0.842355, -55 - 20)
        z1 = z0 + PP(3.00403, 0)
        c1 = z1 + PP(1.17952, -135 + 20)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            #curve(),
            endknot(*z1)
        ])
Пример #15
0
    def path_ERNE(cls, ta=None):
        #M 47.3414,172.063 C 52.5553,169.053 59.9456,168.586 58.68,172.063 59.449333,171.5946 60.218667,171.12621 60.988,170.65781

        #z0 = P(0, -0)
        #c0 = P(1.83248, 1.05789)
        #c1 = P(4.42987, 1.22203)
        #z1 = P(3.98506, -0)
        #c2 = P(4.25545, 0.164624)
        #c3 = P(4.52584, 0.329244)
        #z2 = P(4.79623, 0.493868)

        #z0 = P(0, -0)
        #c0 = z0 + P(1.83248, 1.05789)
        #z1 = z0 + P(3.98506, 0)
        #c1 = z1 + P(0.444808, 1.22203)
        #c2 = z1 + P(0.27039, 0.164624)
        #z2 = z1 + P(0.811169, 0.493868)
        #c3 = z2 + P(-0.27039, -0.164624)

        z0 = P(0, -0)
        c0 = z0 + PP(2.11592, 29)
        z1 = z0 + PP(3.98506, 0)
        #z1 = z2 - PP(0.949685, ta + 359)
        c1 = z1 + PP(1.30046, 69)
        c2 = z1 + PP(0.316562, 31)
        z2 = z1 + PP(0.949685, 31)
        c3 = z2 + PP(0.316562, -148)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            #curve(),
            endknot(*z2)
        ])
Пример #16
0
 def set_next_head(self, flick_len=2.0, dz=P(1, 0)):
     if self.after.head_type == 'S':
         dz = P(0.5, -0.5)
     super().set_next_head(flick_len, dz)
Пример #17
0
 def get_pos_xtsu(self):
     if self.paths:
         return P(*self.paths[0].at(2.0))
     else:
         return P(0, 0)
Пример #18
0
 def get_pos_x_kitsuon(self):
     if self.paths:
         return P(*self.paths[0].at(5))
     else:
         return P(0, 0)
Пример #19
0
 def get_pos_you(self):
     return super().get_pos_you() + P(0, 1)
Пример #20
0
 def get_pos_huu(self):
     return super().get_pos_huu() + P(1, 0)
Пример #21
0
    def path_SELCLswr(cls, ta=None, **kwargs):
        #M 103.93,563.794 C 103.93,575.55 104.936,586.1945 108.2525,593.45087 111.569,600.70725 119.93789,604.81924 126.438,602.779 127.03157,602.59269 127.52527,601.71615 127.314,601.131 126.98538,600.22082 125.41271,599.46286 124.62812,600.02928 123.78205,600.64007 124.92487,602.02139 124.84411,603.15232

        #z0 = P(0, -0)
        #c0 = P(0, -4.13176)
        #c1 = P(0.353569, -7.87288)
        #z1 = P(1.51919, -10.4232)
        #c2 = P(2.6848, -12.9735)
        #c3 = P(5.62613, -14.4187)
        #z2 = P(7.91066, -13.7017)
        #c4 = P(8.11927, -13.6362)
        #c5 = P(8.29279, -13.3281)
        #z3 = P(8.21854, -13.1225)
        #c6 = P(8.10304, -12.8026)
        #c7 = P(7.55031, -12.5362)
        #z4 = P(7.27456, -12.7352)
        #c8 = P(6.9772, -12.9499)
        #c9 = P(7.37885, -13.4354)
        z5 = P(7.35047, -13.8329)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -4.13176)
        #z1 = z0 + P(1.51919, -10.4232)
        #c1 = z1 + P(-1.16562, 2.55032)
        #c2 = z1 + P(1.16562, -2.55033)
        #z2 = z1 + P(6.39147, -3.27846)
        #c3 = z2 + P(-2.28453, -0.717062)
        #c4 = z2 + P(0.208616, 0.0654805)
        #z3 = z2 + P(0.307879, 0.579206)
        #c5 = z3 + P(0.0742529, -0.205657)
        #c6 = z3 + P(-0.115497, 0.319892)
        #z4 = z3 + P(-0.943979, 0.38721)
        #c7 = z4 + P(0.275752, 0.199074)
        #c8 = z4 + P(-0.29736, -0.214668)
        #z5 = z4 + P(0.0759118, -1.09762)
        #c9 = z5 + P(0.0283839, 0.397477)

        z0 = P(0, -0)
        c0 = z0 + PP(4.13176, -90)
        z1 = z0 + PP(10.5333, -81)
        c1 = z1 + PP(2.80407, 114)
        c2 = z1 + PP(2.80407, -65)
        z2 = z1 + PP(7.18326, -27)
        c3 = z2 + PP(2.39442, -162)
        c4 = z2 + PP(0.218651, 17)
        z3 = z2 + PP(0.655949, 62)
        c5 = z3 + PP(0.218651, -70)
        c6 = z3 + PP(0.340103, 109)
        #z4 = z3 + PP(1.02031, 157)
        z4 = z5 - PP(1.10025, ta + 9)
        c7 = z4 + PP(0.340102, 35)
        #c8 = z4 + PP(0.366749, -144)
        #z5 = z4 + PP(1.10025, -86)
        #c9 = z5 + PP(0.398489, 85)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            #controlcurve(c8, c9),
            curve(),
            endknot(*z5, angle=ta)
        ])
Пример #22
0
    def path_SELCLsw(cls, ta=None, **kwargs):
        #M 47.3414,563.794 C 47.3414,575.55 48.347008,586.19132 51.663312,593.4461 54.979616,600.70089 63.348228,604.81887 69.8494,602.779 70.442984,602.59275 70.760978,601.7521 70.7254,601.131 70.683903,600.40656 70.216109,599.3609 69.490846,599.33806 67.811961,599.28518 67.165865,601.79039 66.3775,603.3004

        #z0 = P(0, -0)
        #c0 = P(0, -4.13176)
        #c1 = P(0.353431, -7.87176)
        #z1 = P(1.51898, -10.4215)
        #c2 = P(2.68453, -12.9713)
        #c3 = P(5.62576, -14.4186)
        #z2 = P(7.91066, -13.7017)
        #c4 = P(8.11928, -13.6362)
        #c5 = P(8.23104, -13.3407)
        #z3 = P(8.21854, -13.1225)
        #c6 = P(8.20395, -12.8678)
        #c7 = P(8.03954, -12.5003)
        #z4 = P(7.78464, -12.4923)
        #c8 = P(7.19458, -12.4737)
        #c9 = P(6.9675, -13.3542)
        z5 = P(6.69043, -13.8849)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -4.13176)
        #z1 = z0 + P(1.51898, -10.4215)
        #c1 = z1 + P(-1.16555, 2.54976)
        #c2 = z1 + P(1.16555, -2.54977)
        #z2 = z1 + P(6.39168, -3.28014)
        #c3 = z2 + P(-2.2849, -0.716932)
        #c4 = z2 + P(0.208621, 0.0654594)
        #z3 = z2 + P(0.307879, 0.579206)
        #c5 = z3 + P(0.0125042, -0.218292)
        #c6 = z3 + P(-0.0145845, 0.254612)
        #z4 = z3 + P(-0.433896, 0.630146)
        #c7 = z4 + P(0.254901, -0.00802734)
        #c8 = z4 + P(-0.590061, 0.0185852)
        #z5 = z4 + P(-1.09422, -1.3926)
        #c9 = z5 + P(0.277079, 0.530708)

        z0 = P(0, -0)
        c0 = z0 + PP(4.13176, -90)
        z1 = z0 + PP(10.5316, -81)
        c1 = z1 + PP(2.80353, 114)
        c2 = z1 + PP(2.80354, -65)
        z2 = z1 + PP(7.18421, -27)
        c3 = z2 + PP(2.39474, -162)
        c4 = z2 + PP(0.21865, 17)
        z3 = z2 + PP(0.655949, 62)
        c5 = z3 + PP(0.21865, -86)
        c6 = z3 + PP(0.255029, 93)
        #z4 = z3 + PP(0.765082, 124)
        z4 = z5 - PP(1.77106, ta + -10)
        c7 = z4 + PP(0.255027, -1)
        #c8 = z4 + PP(0.590353, 178)
        #z5 = z4 + PP(1.77106, -128)
        #c9 = z5 + PP(0.598685, 62)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            #controlcurve(c8, c9),
            curve(),
            endknot(*z5, angle=ta)
        ])
Пример #23
0
    def path_SELCLser(cls, ta=None, **kwargs):
        #M 99.3037,450.83 C 99.3037,462.586 100.31002,473.2305 103.62672,480.48687 106.94343,487.74325 115.20778,491.48757 121.812,489.815 122.43031,489.65841 123.11243,488.77333 122.89364,488.23655 122.28353,486.73976 118.55559,486.83566 118.08287,488.36862 117.80914,489.25626 119.07658,488.86763 120.34163,490.00063

        #z0 = P(0, -0)
        #c0 = P(0, -4.13176)
        #c1 = P(0.353681, -7.87288)
        #z1 = P(1.51937, -10.4232)
        #c2 = P(2.68506, -12.9735)
        #c3 = P(5.58965, -14.2895)
        #z2 = P(7.91076, -13.7017)
        #c4 = P(8.12808, -13.6466)
        #c5 = P(8.36781, -13.3356)
        #z3 = P(8.29092, -13.1469)
        #c6 = P(8.07649, -12.6208)
        #c7 = P(6.76627, -12.6545)
        #z4 = P(6.60012, -13.1933)
        #c8 = P(6.50392, -13.5053)
        #c9 = P(6.94937, -13.3687)
        z5 = P(7.39399, -13.7669)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -4.13176)
        #z1 = z0 + P(1.51937, -10.4232)
        #c1 = z1 + P(-1.16569, 2.55032)
        #c2 = z1 + P(1.16569, -2.55033)
        #z2 = z1 + P(6.3914, -3.27846)
        #c3 = z2 + P(-2.32112, -0.587841)
        #c4 = z2 + P(0.217311, 0.0550351)
        #z3 = z2 + P(0.380153, 0.554762)
        #c5 = z3 + P(0.0768959, -0.188657)
        #c6 = z3 + P(-0.214429, 0.526062)
        #z4 = z3 + P(-1.69079, -0.0464173)
        #c7 = z4 + P(0.166142, 0.538774)
        #c8 = z4 + P(-0.0962051, -0.31197)
        #z5 = z4 + P(0.793864, -0.573586)
        #c9 = z5 + P(-0.444614, 0.398204)

        z0 = P(0, -0)
        c0 = z0 + PP(4.13176, -90)
        z1 = z0 + PP(10.5334, -81)
        c1 = z1 + PP(2.8041, 114)
        c2 = z1 + PP(2.8041, -65)
        z2 = z1 + PP(7.18319, -27)
        c3 = z2 + PP(2.3944, -165)
        c4 = z2 + PP(0.224172, 14)
        z3 = z2 + PP(0.672515, 55)
        c5 = z3 + PP(0.203726, -67)
        c6 = z3 + PP(0.568085, 112)
        #z4 = z3 + PP(1.69143, -178)
        z4 = z5 - PP(0.979398, ta + 7)
        c7 = z4 + PP(0.563809, 72)
        #c8 = z4 + PP(0.326467, -107)
        #z5 = z4 + PP(0.979398, -35)
        #c9 = z5 + PP(0.596865, 138)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            #controlcurve(c8, c9),
            curve(),
            endknot(*z5, angle=ta)
        ])
Пример #24
0
    def path_SELCLse(cls, ta=None, **kwargs):
        #M 47.3414,450.83 C 47.3414,462.586 48.347625,473.2305 51.664238,480.48687 54.98085,487.74325 63.349118,491.85436 69.8494,489.815 70.44271,489.62886 70.891884,488.76712 70.7254,488.168 70.403223,487.00859 68.595808,485.59603 67.628846,486.31229 66.57452,487.09326 67.906109,488.8963 68.580442,490.13172

        #z0 = P(0, -0)
        #c0 = P(0, -4.13176)
        #c1 = P(0.353648, -7.87288)
        #z1 = P(1.5193, -10.4232)
        #c2 = P(2.68496, -12.9735)
        #c3 = P(5.62607, -14.4184)
        #z2 = P(7.91066, -13.7017)
        #c4 = P(8.11918, -13.6362)
        #c5 = P(8.27705, -13.3334)
        #z3 = P(8.21854, -13.1228)
        #c6 = P(8.10531, -12.7153)
        #c7 = P(7.47007, -12.2189)
        #z4 = P(7.13022, -12.4706)
        #c8 = P(6.75967, -12.7451)
        #c9 = P(7.22767, -13.3788)
        z5 = P(7.46467, -13.813)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -4.13176)
        #z1 = z0 + P(1.5193, -10.4232)
        #c1 = z1 + P(-1.16566, 2.55032)
        #c2 = z1 + P(1.16566, -2.55033)
        #z2 = z1 + P(6.39135, -3.27846)
        #c3 = z2 + P(-2.28459, -0.716753)
        #c4 = z2 + P(0.208525, 0.0654207)
        #z3 = z2 + P(0.307879, 0.578854)
        #c5 = z3 + P(0.0585124, -0.210567)
        #c6 = z3 + P(-0.113232, 0.407486)
        #z4 = z3 + P(-1.08831, 0.652208)
        #c7 = z4 + P(0.339848, 0.251737)
        #c8 = z4 + P(-0.370553, -0.27448)
        #z5 = z4 + P(0.334448, -1.34238)
        #c9 = z5 + P(-0.237001, 0.434201)

        z0 = P(0, -0)
        c0 = z0 + PP(4.13176, -90)
        z1 = z0 + PP(10.5333, -81)
        c1 = z1 + PP(2.80409, 114)
        c2 = z1 + PP(2.80409, -65)
        z2 = z1 + PP(7.18316, -27)
        c3 = z2 + PP(2.39438, -162)
        c4 = z2 + PP(0.218546, 17)
        z3 = z2 + PP(0.655638, 61)
        c5 = z3 + PP(0.218545, -74)
        c6 = z3 + PP(0.422926, 105)
        #z4 = z3 + PP(1.26878, 149)
        z4 = z5 - PP(1.38341, ta + -14)
        c7 = z4 + PP(0.422928, 36)
        #c8 = z4 + PP(0.461139, -143)
        #z5 = z4 + PP(1.38341, -76)
        #c9 = z5 + PP(0.494671, 118)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            #controlcurve(c8, c9),
            curve(),
            endknot(*z5, angle=ta)
        ])
Пример #25
0
    def path_SELCLsl(cls, ta=None, **kwargs):
        #M 107.808,332.14 C 107.808,343.896 108.814,354.5405 112.1305,361.79687 115.447,369.05325 123.81589,373.16523 130.316,371.125 130.90957,370.93869 131.42948,370.05201 131.192,369.477 130.83438,368.61112 129.40246,368.32515 128.50611,368.64945 127.26323,369.09913 126.66354,370.00068 125.87226,371.61349

        #z0 = P(0, -0)
        #c0 = P(0, -4.13176)
        #c1 = P(0.353569, -7.87288)
        #z1 = P(1.51919, -10.4232)
        #c2 = P(2.6848, -12.9735)
        #c3 = P(5.62613, -14.4187)
        #z2 = P(7.91066, -13.7017)
        #c4 = P(8.11927, -13.6362)
        #c5 = P(8.302, -13.3246)
        #z3 = P(8.21854, -13.1225)
        #c6 = P(8.09285, -12.8181)
        #c7 = P(7.58959, -12.7176)
        #z4 = P(7.27456, -12.8316)
        #c8 = P(6.83773, -12.9897)
        #c9 = P(6.62697, -13.3065)
        z5 = P(6.34886, -13.8733)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -4.13176)
        #z1 = z0 + P(1.51919, -10.4232)
        #c1 = z1 + P(-1.16562, 2.55032)
        #c2 = z1 + P(1.16562, -2.55033)
        #z2 = z1 + P(6.39147, -3.27846)
        #c3 = z2 + P(-2.28453, -0.717059)
        #c4 = z2 + P(0.208616, 0.0654805)
        #z3 = z2 + P(0.307879, 0.579206)
        #c5 = z3 + P(0.0834647, -0.202093)
        #c6 = z3 + P(-0.125689, 0.304322)
        #z4 = z3 + P(-0.943983, 0.290851)
        #c7 = z4 + P(0.315031, 0.113978)
        #c8 = z4 + P(-0.436822, -0.158044)
        #z5 = z4 + P(-0.925693, -1.04174)
        #c9 = z5 + P(0.278103, 0.566838)

        z0 = P(0, -0)
        c0 = z0 + PP(4.13176, -90)
        z1 = z0 + PP(10.5333, -81)
        c1 = z1 + PP(2.80407, 114)
        c2 = z1 + PP(2.80407, -65)
        z2 = z1 + PP(7.18326, -27)
        c3 = z2 + PP(2.39442, -162)
        c4 = z2 + PP(0.218651, 17)
        z3 = z2 + PP(0.655949, 62)
        c5 = z3 + PP(0.21865, -67)
        c6 = z3 + PP(0.329256, 112)
        #z4 = z3 + PP(0.987774, 162)
        z4 = z5 - PP(1.3936, ta + -14)
        c7 = z4 + PP(0.335016, 19)
        #c8 = z4 + PP(0.464534, -160)
        #z5 = z4 + PP(1.3936, -131)
        #c9 = z5 + PP(0.631385, 63)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            #controlcurve(c8, c9),
            curve(),
            endknot(*z5, angle=ta)
        ])
Пример #26
0
    def path_SELCLs(cls, ta=None, **kwargs):
        #M 47.3414,332.14 C 47.3414,343.896 48.347625,354.5405 51.664238,361.79687 54.98085,369.05325 62.240052,372.29206 68.75269,371.53627 69.520676,371.44714 70.469492,371.08199 70.451222,369.95681 70.432248,368.78828 67.628847,365.40401 67.628847,368.16965 67.628847,369.68462 67.644312,369.92243 67.644312,371.60708

        #z0 = P(0, -0)
        #c0 = P(0, -4.13176)
        #c1 = P(0.353648, -7.87288)
        #z1 = P(1.5193, -10.4232)
        #c2 = P(2.68496, -12.9735)
        #c3 = P(5.23628, -14.1118)
        #z2 = P(7.52521, -13.8462)
        #c4 = P(7.79513, -13.8149)
        #c5 = P(8.1286, -13.6865)
        #z3 = P(8.12218, -13.2911)
        #c6 = P(8.11551, -12.8804)
        #c7 = P(7.13022, -11.691)
        #z4 = P(7.13022, -12.663)
        #c8 = P(7.13022, -13.1954)
        #c9 = P(7.13566, -13.279)
        z5 = P(7.13566, -13.8711)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -4.13176)
        #z1 = z0 + P(1.5193, -10.4232)
        #c1 = z1 + P(-1.16566, 2.55032)
        #c2 = z1 + P(1.16566, -2.55033)
        #z2 = z1 + P(6.00591, -3.42301)
        #c3 = z2 + P(-2.28893, -0.26563)
        #c4 = z2 + P(0.269916, 0.0313256)
        #z3 = z2 + P(0.596966, 0.555117)
        #c5 = z3 + P(0.00642117, -0.395456)
        #c6 = z3 + P(-0.0066686, 0.410691)
        #z4 = z3 + P(-0.991952, 0.628115)
        #c7 = z4 + P(0, 0.972011)
        #c8 = z4 + P(0, -0.532451)
        #z5 = z4 + P(0.00543533, -1.20812)
        #c9 = z5 + P(0, 0.592087)

        z0 = P(0, -0)
        c0 = z0 + PP(4.13176, -90)
        z1 = z0 + PP(10.5333, -81)
        c1 = z1 + PP(2.80409, 114)
        c2 = z1 + PP(2.80409, -65)
        z2 = z1 + PP(6.91288, -29)
        c3 = z2 + PP(2.30429, -173)
        c4 = z2 + PP(0.271728, 6)
        z3 = z2 + PP(0.815183, 42)
        c5 = z3 + PP(0.395508, -89)
        c6 = z3 + PP(0.410746, 90)
        #z4 = z3 + PP(1.17409, 147)
        z4 = z5 - PP(1.20813, ta + 1)
        c7 = z4 + PP(0.972011, 90)
        #c8 = z4 + PP(0.532451, -90)
        #z5 = z4 + PP(1.20813, -89)
        #c9 = z5 + PP(0.592087, 90)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            #controlcurve(c8, c9),
            curve(),
            endknot(*z5, angle=ta)
        ])
Пример #27
0
    def path_SELCLnel(cls, ta=None, **kwargs):
        #M 102.922,250.703 C 102.922,262.4595 103.92825,273.104 107.24488,280.36025 110.5615,287.6165 119.155,292.34056 125.43,289.688 126.421,289.26908 127.02139,287.46132 126.37455,286.60157 125.23984,285.09337 123.63294,284.2582 122.47511,285.83628 121.16596,287.62058 123.35646,288.27148 126.5846,287.90297

        #z0 = P(0, -0)
        #c0 = P(0, -4.13194)
        #c1 = P(0.353657, -7.87305)
        #z1 = P(1.51932, -10.4233)
        #c2 = P(2.68498, -12.9736)
        #c3 = P(5.70525, -14.6339)
        #z2 = P(7.91066, -13.7017)
        #c4 = P(8.25896, -13.5544)
        #c5 = P(8.46997, -12.9191)
        #z3 = P(8.24263, -12.6169)
        #c6 = P(7.84383, -12.0868)
        #c7 = P(7.27906, -11.7933)
        #z4 = P(6.87213, -12.3479)
        #c8 = P(6.41202, -12.975)
        #c9 = P(7.18189, -13.2038)
        z5 = P(8.31645, -13.0743)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -4.13194)
        #z1 = z0 + P(1.51932, -10.4233)
        #c1 = z1 + P(-1.16566, 2.55028)
        #c2 = z1 + P(1.16566, -2.55028)
        #z2 = z1 + P(6.39134, -3.27833)
        #c3 = z2 + P(-2.20541, -0.932268)
        #c4 = z2 + P(0.348297, 0.147234)
        #z3 = z2 + P(0.331971, 1.08476)
        #c5 = z3 + P(0.227338, -0.302168)
        #c6 = z3 + P(-0.398805, 0.530072)
        #z4 = z3 + P(-1.3705, 0.268969)
        #c7 = z4 + P(0.406931, 0.554632)
        #c8 = z4 + P(-0.460114, -0.62711)
        #z5 = z4 + P(1.44432, -0.726359)
        #c9 = z5 + P(-1.13456, -0.129516)

        z0 = P(0, -0)
        c0 = z0 + PP(4.13194, -90)
        z1 = z0 + PP(10.5335, -81)
        c1 = z1 + PP(2.80405, 114)
        c2 = z1 + PP(2.80405, -65)
        z2 = z1 + PP(7.18308, -27)
        c3 = z2 + PP(2.39436, -157)
        c4 = z2 + PP(0.378138, 22)
        z3 = z2 + PP(1.13442, 72)
        c5 = z3 + PP(0.378138, -53)
        c6 = z3 + PP(0.663341, 126)
        #z4 = z3 + PP(1.39664, 168)
        z4 = z5 - PP(1.61668, ta + 327)
        c7 = z4 + PP(0.687902, 53)
        #c8 = z4 + PP(0.777799, -126)
        #z5 = z4 + PP(1.61668, -26)
        #c9 = z5 + PP(1.14193, -173)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            #controlcurve(c8, c9),
            curve(),
            endknot(*z5, angle=ta)
        ])
Пример #28
0
    def path_SELCLE(cls, ta=None, **kwwargs):
        #M 253.084,152.622 C 253.084,176.046 257.042,194.951 275.456,191.372 277.076,191.087 277.17421,190.02143 277.27512,189.041 277.32772,188.5299 277.07118,187.84914 276.59419,187.65815 275.71835,187.30746 274.45666,187.43738 273.93696,188.63271 273.29456,190.11027 274.69423,189.874 277.10523,189.874 278.1259,189.874 279.06209,189.91624 280.08276,189.91624

        #z0 = P(0, -0)
        #c0 = P(0, -8.26347)
        #c1 = P(1.39629, -14.9327)
        #z1 = P(7.89234, -13.6701)
        #c2 = P(8.46384, -13.5696)
        #c3 = P(8.49849, -13.1937)
        #z2 = P(8.53409, -12.8478)
        #c4 = P(8.55265, -12.6675)
        #c5 = P(8.46214, -12.4274)
        #z3 = P(8.29387, -12.36)
        #c6 = P(7.9849, -12.2363)
        #c7 = P(7.5398, -12.2821)
        #z4 = P(7.35646, -12.7038)
        #c8 = P(7.12984, -13.225)
        #c9 = P(7.62361, -13.1417)
        #z5 = P(8.47416, -13.1417)
        #c10 = P(8.83423, -13.1417)
        #c11 = P(9.16449, -13.1566)
        z6 = P(9.52456, -13.1566)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -8.26347)
        #z1 = z0 + P(7.89234, -13.6701)
        #c1 = z1 + P(-6.49605, -1.26259)
        #c2 = z1 + P(0.5715, 0.100542)
        #z2 = z1 + P(0.641745, 0.822325)
        #c3 = z2 + P(-0.0355988, -0.345874)
        #c4 = z2 + P(0.0185561, 0.180305)
        #z3 = z2 + P(-0.240217, 0.487839)
        #c5 = z3 + P(0.168271, -0.067377)
        #c6 = z3 + P(-0.308977, 0.123716)
        #z4 = z3 + P(-0.937412, -0.343803)
        #c7 = z4 + P(0.183339, 0.421686)
        #c8 = z4 + P(-0.226624, -0.52125)
        #z5 = z4 + P(1.1177, -0.4379)
        #c9 = z5 + P(-0.850547, 0)
        #c10 = z5 + P(0.36007, 0)
        #z6 = z5 + P(1.05041, -0.0149013)
        #c11 = z6 + P(-0.36007, 0)

        z0 = P(0, -0)
        c0 = z0 + PP(8.26347, -90)
        z1 = z0 + PP(15.7849, -60)
        c1 = z1 + PP(6.61761, -169)
        c2 = z1 + PP(0.580277, 9)
        z2 = z1 + PP(1.0431, 52)
        c3 = z2 + PP(0.347701, -95)
        c4 = z2 + PP(0.181257, 84)
        z3 = z2 + PP(0.543775, 116)
        c5 = z3 + PP(0.181259, -21)
        c6 = z3 + PP(0.332825, 158)
        z4 = z3 + PP(0.998469, -159)
        c7 = z4 + PP(0.459817, 66)
        c8 = z4 + PP(0.568384, -113)
        z5 = z4 + PP(1.20042, -21)
        #z5 = z6 - PP(1.05051, ta + 0)
        c9 = z5 + PP(0.850547, 180)
        c10 = z5 + PP(0.36007, 0)
        z6 = z5 + PP(1.05051, 0)
        c11 = z6 + PP(0.36007, 180)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            controlcurve(c8, c9),
            knot(*z5),
            controlcurve(c10, c11),
            #curve(),
            endknot(*z6)
        ])
Пример #29
0
 def set_next_head(self, flick_len=2.0, dz=P(1, 0)):
     if self.after.head_type == 'NER':
         dz = P(2, -0.3)
     super().set_next_head(flick_len, dz)
Пример #30
0
    def path_SELCLE(cls, ta=None, **kwargs):
        #M 193.929,131.515 C 193.929,142.06 197.293,147.357 206.757,147.357 207.864,147.357 208.37078,146.83276 208.53078,146.23576 208.71278,145.60176 208.71341,144.79197 208.20281,144.49627 207.34673,144.0005 205.35261,144.48272 205.39959,145.47088 205.45061,146.54409 207.44496,146.23576 208.53078,146.23576 209.57762,146.23576 210.76742,146.18377 211.671,146.27827

        #z0 = P(0, -0)
        #c0 = P(0, -3.72004)
        #c1 = P(1.18674, -5.58871)
        #z1 = P(4.52543, -5.58871)
        #c2 = P(4.91596, -5.58871)
        #c3 = P(5.09474, -5.40377)
        #z2 = P(5.15118, -5.19316)
        #c4 = P(5.21539, -4.9695)
        #c5 = P(5.21561, -4.68382)
        #z3 = P(5.03548, -4.5795)
        #c6 = P(4.73348, -4.40461)
        #c7 = P(4.03, -4.57472)
        #z4 = P(4.04657, -4.92332)
        #c8 = P(4.06457, -5.30193)
        #c9 = P(4.76813, -5.19316)
        #z5 = P(5.15118, -5.19316)
        #c10 = P(5.52049, -5.19316)
        #c11 = P(5.94022, -5.17482)
        z6 = P(6.25898, -5.20815)

        #z0 = P(0, -0)
        #c0 = z0 + P(0, -3.72004)
        #z1 = z0 + P(4.52543, -5.58871)
        #c1 = z1 + P(-3.33869, 0)
        #c2 = z1 + P(0.390525, 0)
        #z2 = z1 + P(0.62575, 0.395549)
        #c3 = z2 + P(-0.0564444, -0.210608)
        #c4 = z2 + P(0.0642056, 0.223661)
        #z3 = z2 + P(-0.115701, 0.613653)
        #c5 = z3 + P(0.180128, -0.104316)
        #c6 = z3 + P(-0.302006, 0.174897)
        #z4 = z3 + P(-0.988914, -0.343821)
        #c7 = z4 + P(-0.0165735, 0.348601)
        #c8 = z4 + P(0.0179987, -0.378605)
        #z5 = z4 + P(1.10461, -0.269833)
        #c9 = z5 + P(-0.383053, 0)
        #c10 = z5 + P(0.369302, 0)
        #z6 = z5 + P(1.1078, -0.0149966)
        #c11 = z6 + P(-0.318763, 0.0333375)

        z0 = P(0, -0)
        c0 = z0 + PP(3.72004, -90)
        z1 = z0 + PP(7.19119, -51)
        c1 = z1 + PP(3.33869, 180)
        c2 = z1 + PP(0.390525, 0)
        z2 = z1 + PP(0.740285, 32)
        c3 = z2 + PP(0.218041, -105)
        c4 = z2 + PP(0.232694, 73)
        z3 = z2 + PP(0.624465, 100)
        c5 = z3 + PP(0.208154, -30)
        c6 = z3 + PP(0.348993, 149)
        z4 = z3 + PP(1.04698, -160)
        c7 = z4 + PP(0.348995, 92)
        c8 = z4 + PP(0.379032, -87)
        z5 = z4 + PP(1.13709, -13)
        #z5 = z6 - PP(1.1079, ta + 6)
        c9 = z5 + PP(0.383053, 180)
        c10 = z5 + PP(0.369302, 0)
        z6 = z5 + PP(1.1079, 0)
        c11 = z6 + PP(0.320501, 174)

        return pyx.metapost.path.path([
            beginknot(*z0),
            controlcurve(c0, c1),
            knot(*z1),
            controlcurve(c2, c3),
            knot(*z2),
            controlcurve(c4, c5),
            knot(*z3),
            controlcurve(c6, c7),
            knot(*z4),
            controlcurve(c8, c9),
            knot(*z5),
            controlcurve(c10, c11),
            #curve(),
            endknot(*z6)
        ])