def add_head_circle(cls, paths, diameter=1.5): next_head_angle = degrees( atan2(*([ coord / unit.length(1) for coord in paths[0].tangent(0).atend()[::-1] ]))) if next_head_angle >= 0: a0 = -70 + next_head_angle ha = next_head_angle - 90 ta = next_head_angle else: a0 = -70 + next_head_angle ha = next_head_angle - 90 ta = next_head_angle z0 = P(*paths[0].at(diameter)) circle = pyx.metapost.path.path([ beginknot(*z0, angle=ha), curve(), knot(*PP(diameter * 0.7, a0)), curve(), endknot(0, 0, angle=ta) ]) paths[0] = circle.joined(paths[0]) return paths
def path_ECL(cls, ta=None, **kwargs): base = pyx.path.line(0, 0, 7.5, 0) z3 = P(*base.reversed().at(0.7)) z2 = z3 - PP(1.2, -130) return pyx.metapost.path.path([ beginknot(0, 0), line(True), knot(7.5, 0), curve(), knot(*z2), curve(), endknot(*z3, angle=-130) ])
def barb(cls, paths, len_=2.0): next_head_angle = degrees( atan2(*([ coord / unit.length(1) for coord in paths[0].tangent(0).atend()[::-1] ]))) if next_head_angle >= 0: a0 = 30 + next_head_angle ha = next_head_angle + 80 + 180 ta = next_head_angle + 180 else: a0 = -30 + next_head_angle ha = next_head_angle + 80 ta = next_head_angle + 180 barb = pyx.metapost.path.path([ beginknot(*PP(len_, a0), angle=ha), curve(), endknot(0, 0, angle=ta) ]) paths[0] = barb.joined(paths[0]) return paths
def path_ELCLne(cls, ta=None, **kwargs): #M 47.3414,176.955 C 53.5111,178.959 69.9338,182.397 69.9338,176.955 69.9338,171.43531 60.255705,177.62646 58.0434,179.401 #z0 = P(0, -0) #c0 = P(2.1684, -0.704326) #c1 = P(7.94032, -1.91264) #z1 = P(7.94032, -0) #c2 = P(7.94032, 1.93995) #c3 = P(4.53886, -0.235991) z2 = P(3.76132, -0.859671) #z0 = P(0, -0) #c0 = z0 + P(2.1684, -0.704326) #z1 = z0 + P(7.94032, 0) #c1 = z1 + P(0, -1.91264) #c2 = z1 + P(0, 1.93995) #z2 = z1 + P(-4.179, -0.859671) #c3 = z2 + P(0.777536, 0.62368) z0 = P(0, -0) c0 = z0 + PP(2.27992, -17) z1 = z0 + PP(7.94032, 0) #z1 = z2 - PP(4.2665, ta + -26) c1 = z1 + PP(1.91264, -90) #c2 = z1 + PP(1.93995, 90) #z2 = z1 + PP(4.2665, -168) #c3 = z2 + PP(0.996764, 38) return pyx.metapost.path.path([ beginknot(*z0), controlcurve(c0, c1), knot(*z1), #controlcurve(c2, c3), curve(), endknot(*z2, angle=ta+180)])
def path_ELCLswl(cls, ta=None, **kwargs): #M 225.238,184.959 C 229.416,187.087 236.619,188.47943 236.619,184.959 236.619,182.37833 234.11177,185.39327 233.12902,187.01814 #z0 = P(0, -0) #c0 = P(1.47391, -0.750711) #c1 = P(4.01496, -1.24193) #z1 = P(4.01496, -0) #c2 = P(4.01496, 0.910403) #c3 = P(3.13047, -0.153201) z2 = P(2.78378, -0.726419) #z0 = P(0, -0) #c0 = z0 + P(1.47391, -0.750711) #z1 = z0 + P(4.01496, 0) #c1 = z1 + P(0, -1.24193) #c2 = z1 + P(0, 0.910403) #z2 = z1 + P(-1.23119, -0.726419) #c3 = z2 + P(0.346692, 0.573218) z0 = P(0, -0) c0 = z0 + PP(1.65408, -26) z1 = z0 + PP(4.01496, 0) #z1 = z2 - PP(1.42951, ta + -27) c1 = z1 + PP(1.24193, -90) #c2 = z1 + PP(0.910403, 90) #z2 = z1 + PP(1.42951, -149) #c3 = z2 + PP(0.669906, 58) return pyx.metapost.path.path([ beginknot(*z0), controlcurve(c0, c1), knot(*z1), #controlcurve(c2, c3), curve(), endknot(*z2, angle=ta)])
def path_ELCLswl(cls, ta=None, **kwargs): #M 47.3414,375.334 C 53.4875,377.331 70.874128,380.65719 69.849,375.334 68.700108,369.36814 59.834825,375.60022 58.0034,377.77 #z0 = P(0, -0) #c0 = P(2.16011, -0.701865) #c1 = P(8.27081, -1.87089) #z1 = P(7.91052, -0) #c2 = P(7.50673, 2.09676) #c3 = P(4.39094, -0.0935656) z2 = P(3.74727, -0.856156) #z0 = P(0, -0) #c0 = z0 + P(2.16011, -0.701865) #z1 = z0 + P(7.91052, 0) #c1 = z1 + P(0.360291, -1.87089) #c2 = z1 + P(-0.403789, 2.09676) #z2 = z1 + P(-4.16325, -0.856156) #c3 = z2 + P(0.643672, 0.762591) z0 = P(0, -0) c0 = z0 + PP(2.27127, -18) z1 = z0 + PP(7.91052, 0) #z1 = z2 - PP(4.25037, ta + -37) c1 = z1 + PP(1.90526, -79) #c2 = z1 + PP(2.13529, 100) #z2 = z1 + PP(4.25037, -168) #c3 = z2 + PP(0.997927, 49) return pyx.metapost.path.path([ beginknot(*z0), controlcurve(c0, c1), knot(*z1), #controlcurve(c2, c3), curve(), endknot(*z2, angle=ta)])
def path_ECLsw(cls, ta=None, **kwargs): z0 = P(0, 0) c0 = z0 + PP(2.49235, 3) z1 = z0 + PP(7.47197, 0) c1 = z1 + PP(2.49235, 176) c2 = z1 + PP(0.262126, -2) z2 = z1 + PP(0.697396, 45) c3 = z2 + PP(0.275834, -96) c4 = z2 + PP(0.531693, 83) # z3 = z2 + PP(0.700622, 148) z4 = P(7.06329, 0.0202441) z3 = z4 - PP(0.896623, ta) c5 = z3 + PP(0.295579, 70) # c6 = z3 + PP(0.299059, -109) # c7 = z4 + PP(0.29924, 74) return pyx.metapost.path.path([ beginknot(*z0), controlcurve(c0, c1), knot(*z1), controlcurve(c2, c3), knot(*z2), controlcurve(c4, c5), roughknot(*z3, rangle=ta), curve(), endknot(*z4, ta) ])
def path_ELCLsl(cls, ta=None, **kwargs): #M 97.3523,184.959 C 101.53,187.087 108.733,188.51461 108.733,184.959 108.733,182.60147 105.99054,186.36208 105.60574,187.07331 #z0 = P(0, -0) #c0 = P(1.4738, -0.750711) #c1 = P(4.01486, -1.25434) #z1 = P(4.01486, -0) #c2 = P(4.01486, 0.831684) #c3 = P(3.04738, -0.494975) z2 = P(2.91163, -0.745882) #z0 = P(0, -0) #c0 = z0 + P(1.4738, -0.750711) #z1 = z0 + P(4.01486, 0) #c1 = z1 + P(0, -1.25434) #c2 = z1 + P(0, 0.831684) #z2 = z1 + P(-1.10323, -0.745882) #c3 = z2 + P(0.135749, 0.250906) z0 = P(0, -0) c0 = z0 + PP(1.65398, -26) z1 = z0 + PP(4.01486, 0) #z1 = z2 - PP(1.33171, ta + -26) c1 = z1 + PP(1.25434, -90) #c2 = z1 + PP(0.831684, 90) #z2 = z1 + PP(1.33171, -145) #c3 = z2 + PP(0.285275, 61) return pyx.metapost.path.path([ beginknot(*z0), controlcurve(c0, c1), knot(*z1), #controlcurve(c2, c3), curve(), endknot(*z2, angle=ta)])
def path_SELCLser(cls, ta=None, **kwargs): #M 90.8486,358.129 C 90.8486,368.714 93.6629,374.47 103.163,374.47 104.274,374.47 104.57677,373.83334 104.546,373.225 104.47312,371.78403 101.00115,371.35458 100.85889,372.23568 100.66849,373.41493 102.7074,373.8678 103.7048,374.4076 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.989114, -5.74321) #z1 = P(4.32802, -5.74321) #c2 = P(4.71849, -5.74321) #c3 = P(4.8249, -5.51945) #z2 = P(4.81409, -5.30564) #c4 = P(4.78847, -4.7992) #c5 = P(3.56821, -4.64826) #z3 = P(3.51822, -4.95793) #c6 = P(3.4513, -5.37239) #c7 = P(4.16789, -5.53156) z4 = P(4.51844, -5.72127) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32802, -5.74321) #c1 = z1 + P(-3.3389, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.486069, 0.437568) #c3 = z2 + P(0.0108144, -0.213807) #c4 = z2 + P(-0.0256144, 0.506443) #z3 = z2 + P(-1.29587, 0.347706) #c5 = z3 + P(0.0499987, 0.309671) #c6 = z3 + P(-0.066918, -0.414459) #z4 = z3 + P(1.00022, -0.763343) #c7 = z4 + P(-0.350546, 0.189718) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19139, -52) c1 = z1 + PP(3.3389, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.65401, 41) c3 = z2 + PP(0.21408, -87) c4 = z2 + PP(0.50709, 92) #z3 = z2 + PP(1.34171, 164) z3 = z4 - PP(1.25823, ta + -8) c5 = z3 + PP(0.313682, 80) #c6 = z3 + PP(0.419827, -99) #z4 = z3 + PP(1.25823, -37) #c7 = z4 + PP(0.398592, 151) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLse(cls, ta=None, **kwargs): #M 47.3414,358.129 C 47.3414,368.714 50.1558,374.47 59.6556,374.47 60.7666,374.47 61.0384,373.83426 61.0384,373.225 61.0384,372.1495 59.275595,371.25827 58.570885,371.5231 57.519223,371.9183 59.105359,373.65736 59.6556,374.47 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.989149, -5.74321) #z1 = P(4.32795, -5.74321) #c2 = P(4.71842, -5.74321) #c3 = P(4.81395, -5.51977) #z2 = P(4.81395, -5.30564) #c4 = P(4.81395, -4.92764) #c5 = P(4.19439, -4.61441) #z3 = P(3.94671, -4.70749) #c6 = P(3.5771, -4.84639) #c7 = P(4.13456, -5.4576) z4 = P(4.32795, -5.74321) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32795, -5.74321) #c1 = z1 + P(-3.3388, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.485999, 0.437568) #c3 = z2 + P(0, -0.21413) #c4 = z2 + P(0, 0.377995) #z3 = z2 + P(-0.867233, 0.59815) #c5 = z3 + P(0.247677, 0.0930771) #c6 = z3 + P(-0.369617, -0.138897) #z4 = z3 + P(0.381234, -1.03572) #c7 = z4 + P(-0.193388, 0.28561) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19135, -52) c1 = z1 + PP(3.3388, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.653957, 41) c3 = z2 + PP(0.21413, -90) c4 = z2 + PP(0.377995, 90) #z3 = z2 + PP(1.05351, 145) z3 = z4 - PP(1.10365, ta + -13) c5 = z3 + PP(0.264589, 20) #c6 = z3 + PP(0.394853, -159) #z4 = z3 + PP(1.10365, -69) #c7 = z4 + PP(0.344923, 124) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLsr(cls, ta=None, **kwargs): #M 151.364,262.614 C 151.364,273.199 154.178,278.955 163.678,278.955 164.789,278.955 165.16146,278.5635 165.061,277.71 164.96046,276.85582 163.20767,275.9803 162.50351,276.35629 161.45161,276.91797 162.40638,277.82898 163.29446,278.95181 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.989008, -5.74321) #z1 = P(4.32788, -5.74321) #c2 = P(4.71835, -5.74321) #c3 = P(4.84925, -5.60561) #z2 = P(4.81395, -5.30564) #c4 = P(4.77861, -5.00543) #c5 = P(4.16257, -4.69772) #z3 = P(3.91509, -4.82986) #c6 = P(3.54539, -5.02727) #c7 = P(3.88095, -5.34745) z4 = P(4.19308, -5.74208) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32788, -5.74321) #c1 = z1 + P(-3.33887, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.486069, 0.437568) #c3 = z2 + P(0.0353077, -0.299971) #c4 = z2 + P(-0.0353358, 0.30021) #z3 = z2 + P(-0.898855, 0.475775) #c5 = z3 + P(0.247484, 0.132145) #c6 = z3 + P(-0.369701, -0.197408) #z4 = z3 + P(0.277987, -0.912221) #c7 = z4 + P(-0.312124, 0.39463) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19131, -52) c1 = z1 + PP(3.33887, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.65401, 41) c3 = z2 + PP(0.302042, -83) c4 = z2 + PP(0.302282, 96) #z3 = z2 + PP(1.01701, 152) z3 = z4 - PP(0.953637, ta + -21) c5 = z3 + PP(0.280554, 28) #c6 = z3 + PP(0.419104, -151) #z4 = z3 + PP(0.953637, -73) #c7 = z4 + PP(0.503144, 128) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLs(cls, ta=None, **kwargs): #M 258.905,131.515 C 258.905,142.06 261.991,147.578 271.455,147.578 272.562,147.578 272.854,146.969 272.854,146.362 272.854,144.685 271.37502,143.88342 270.80102,144.47742 270.13602,145.16642 270.41883,146.60383 270.41883,147.55483 #z0 = P(0, -0) #c0 = P(0, -3.72004) #c1 = P(1.08867, -5.66667) #z1 = P(4.42736, -5.66667) #c2 = P(4.81789, -5.66667) #c3 = P(4.9209, -5.45183) #z2 = P(4.9209, -5.23769) #c4 = P(4.9209, -4.64608) #c5 = P(4.39915, -4.3633) #z3 = P(4.19665, -4.57285) #c6 = P(3.96205, -4.81592) #c7 = P(4.06182, -5.323) z4 = P(4.06182, -5.6585) #z0 = P(0, -0) #c0 = z0 + P(0, -3.72004) #z1 = z0 + P(4.42736, -5.66667) #c1 = z1 + P(-3.33869, 0) #c2 = z1 + P(0.390525, 0) #z2 = z1 + P(0.493536, 0.428978) #c3 = z2 + P(0, -0.214136) #c4 = z2 + P(0, 0.591608) #z3 = z2 + P(-0.724246, 0.664838) #c5 = z3 + P(0.202494, 0.20955) #c6 = z3 + P(-0.234597, -0.243064) #z4 = z3 + P(-0.134828, -1.08564) #c7 = z4 + P(0, 0.335492) z0 = P(0, -0) c0 = z0 + PP(3.72004, -90) z1 = z0 + PP(7.19115, -51) c1 = z1 + PP(3.33869, 180) c2 = z1 + PP(0.390525, 0) z2 = z1 + PP(0.653911, 40) c3 = z2 + PP(0.214136, -90) c4 = z2 + PP(0.591608, 90) #z3 = z2 + PP(0.983128, 137) z3 = z4 - PP(1.09398, ta + -7) c5 = z3 + PP(0.291402, 45) #c6 = z3 + PP(0.33781, -133) #z4 = z3 + PP(1.09398, -97) #c7 = z4 + PP(0.335492, 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), curve(), endknot(*z4, angle=ta) ])
def path_ERCRner(cls, ta=None, **kwargs): #M 423.82,122.011 C 429.591,119.796 434.319,118.708 438.129,118.708 441.197,118.708 446.058,119.596 446.058,123.102 446.058,125.39673 442.85786,127.04632 440.66856,126.48394 438.42375,125.90731 439.13738,121.48627 440.15343,118.83103 #z0 = P(0, -0) #c0 = P(2.03588, 0.781403) #c1 = P(3.70381, 1.16522) #z1 = P(5.0479, 1.16522) #c2 = P(6.13022, 1.16522) #c3 = P(7.84507, 0.851958) #z2 = P(7.84507, -0.384881) #c4 = P(7.84507, -1.19441) #c5 = P(6.71613, -1.77635) #z3 = P(5.9438, -1.57795) #c6 = P(5.15188, -1.37453) #c7 = P(5.40363, 0.185113) z4 = P(5.76207, 1.12182) #z0 = P(0, -0) #c0 = z0 + P(2.03588, 0.781403) #z1 = z0 + P(5.0479, 1.16522) #c1 = z1 + P(-1.34408, 0) #c2 = z1 + P(1.08232, 0) #z2 = z1 + P(2.79717, -1.55011) #c3 = z2 + P(0, 1.23684) #c4 = z2 + P(0, -0.80953) #z3 = z2 + P(-1.90127, -1.19307) #c5 = z3 + P(0.772336, -0.198395) #c6 = z3 + P(-0.791919, 0.203422) #z4 = z3 + P(-0.181726, 2.69978) #c7 = z4 + P(-0.35844, -0.93671) z0 = P(0, -0) c0 = z0 + PP(2.18069, 20) z1 = z0 + PP(5.18064, 12) c1 = z1 + PP(1.34408, 180) c2 = z1 + PP(1.08232, 0) z2 = z1 + PP(3.19797, -28) c3 = z2 + PP(1.23684, 90) c4 = z2 + PP(0.80953, -90) #z3 = z2 + PP(2.24461, -147) z3 = z4 - PP(2.70589, ta + 383) c5 = z3 + PP(0.797411, -14) #c6 = z3 + PP(0.817629, 165) #z4 = z3 + PP(2.70589, 93) #c7 = z4 + PP(1.00295, -110) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLe(cls, ta=None, **kwargs): #M 47.3414,154.69 C 47.3414,178.202 50.929259,197.30312 69.428695,193.7952 71.050553,193.48766 71.03831,192.19833 70.785501,191.42699 69.929417,188.81502 65.973369,189.35871 65.74486,191.0286 65.502021,192.80321 67.644362,192.18799 71.018411,192.05988 #z0 = P(0, -0) #c0 = P(0, -8.26352) #c1 = P(1.26099, -14.9768) #z1 = P(7.7628, -13.7439) #c2 = P(8.33282, -13.6358) #c3 = P(8.32851, -13.1827) #z2 = P(8.23966, -12.9116) #c4 = P(7.93878, -11.9936) #c5 = P(6.54839, -12.1847) #z3 = P(6.46808, -12.7716) #c6 = P(6.38273, -13.3953) #c7 = P(7.13568, -13.179) z4 = P(8.32152, -13.134) #z0 = P(0, -0) #c0 = z0 + P(0, -8.26352) #z1 = z0 + P(7.7628, -13.7439) #c1 = z1 + P(-6.50181, -1.23289) #c2 = z1 + P(0.570018, 0.108088) #z2 = z1 + P(0.476863, 0.832331) #c3 = z2 + P(0.0888522, -0.271095) #c4 = z2 + P(-0.300879, 0.918003) #z3 = z2 + P(-1.77158, 0.140018) #c5 = z3 + P(0.0803117, 0.586899) #c6 = z3 + P(-0.0853482, -0.623704) #z4 = z3 + P(1.85344, -0.362454) #c7 = z4 + P(-1.18584, -0.0450255) z0 = P(0, -0) c0 = z0 + PP(8.26352, -90) z1 = z0 + PP(15.7847, -60) c1 = z1 + PP(6.61767, -169) c2 = z1 + PP(0.580175, 10) z2 = z1 + PP(0.959256, 60) c3 = z2 + PP(0.285285, -71) c4 = z2 + PP(0.966052, 108) #z3 = z2 + PP(1.77711, 175) z3 = z4 - PP(1.88855, ta + 346) c5 = z3 + PP(0.592369, 82) #c6 = z3 + PP(0.629517, -97) #z4 = z3 + PP(1.88855, -11) #c7 = z4 + PP(1.1867, -177) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLel(cls, ta=None, **kwargs): #M 116.312,154.69 C 116.312,178.202 120.33964,197.2867 138.819,193.675 139.89313,193.46507 140.44492,191.43874 139.9364,190.40528 139.39583,189.30667 137.17783,188.23528 136.45778,189.22558 135.68986,190.28172 136.49524,191.59668 138.79845,192.36682 #z0 = P(0, -0) #c0 = P(0, -8.26352) #c1 = P(1.41555, -14.971) #z1 = P(7.91031, -13.7017) #c2 = P(8.28782, -13.6279) #c3 = P(8.48175, -12.9157) #z2 = P(8.30303, -12.5525) #c4 = P(8.11304, -12.1664) #c5 = P(7.3335, -11.7898) #z3 = P(7.08043, -12.1379) #c6 = P(6.81054, -12.5091) #c7 = P(7.0936, -12.9712) z4 = P(7.90308, -13.2419) #z0 = P(0, -0) #c0 = z0 + P(0, -8.26352) #z1 = z0 + P(7.91031, -13.7017) #c1 = z1 + P(-6.49475, -1.26937) #c2 = z1 + P(0.377514, 0.073782) #z2 = z1 + P(0.392721, 1.14918) #c3 = z2 + P(0.178724, -0.36322) #c4 = z2 + P(-0.189989, 0.386117) #z3 = z2 + P(-1.2226, 0.414617) #c5 = z3 + P(0.253069, 0.348051) #c6 = z3 + P(-0.269893, -0.371191) #z4 = z3 + P(0.822652, -1.10402) #c7 = z4 + P(-0.809486, 0.270673) z0 = P(0, -0) c0 = z0 + PP(8.26352, -90) z1 = z0 + PP(15.8211, -60) c1 = z1 + PP(6.61764, -168) c2 = z1 + PP(0.384656, 11) z2 = z1 + PP(1.21443, 71) c3 = z2 + PP(0.40481, -63) c4 = z2 + PP(0.430328, 116) #z3 = z2 + PP(1.29099, 161) z3 = z4 - PP(1.37681, ta + -34) c5 = z3 + PP(0.430329, 53) #c6 = z3 + PP(0.458939, -126) #z4 = z3 + PP(1.37681, -53) #c7 = z4 + PP(0.853541, 161) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLswr(cls, ta=None, **kwargs): #M 95.4745,447.917 C 95.4745,458.502 98.2888,464.258 107.789,464.258 108.9,464.258 109.32452,463.60263 109.171,463.013 108.9399,462.12543 106.98785,461.7753 106.4059,462.2124 105.83377,462.64212 106.54291,463.35992 106.85783,464.23871 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.989114, -5.74321) #z1 = P(4.32805, -5.74321) #c2 = P(4.71852, -5.74321) #c3 = P(4.86773, -5.51287) #z2 = P(4.81377, -5.30564) #c4 = P(4.73255, -4.99369) #c5 = P(4.04648, -4.87064) #z3 = P(3.84195, -5.02426) #c6 = P(3.64087, -5.17529) #c7 = P(3.8901, -5.42757) z4 = P(4.00078, -5.73643) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32805, -5.74321) #c1 = z1 + P(-3.33894, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.485718, 0.437568) #c3 = z2 + P(0.0539561, -0.207231) #c4 = z2 + P(-0.0812224, 0.311945) #z3 = z2 + P(-0.971822, 0.281379) #c5 = z3 + P(0.204532, 0.153623) #c6 = z3 + P(-0.201081, -0.151029) #z4 = z3 + P(0.158835, -0.712167) #c7 = z4 + P(-0.110682, 0.308859) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19142, -52) c1 = z1 + PP(3.33894, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.653748, 42) c3 = z2 + PP(0.21414, -75) c4 = z2 + PP(0.322346, 104) #z3 = z2 + PP(1.01174, 163) z3 = z4 - PP(0.729664, ta + -6) c5 = z3 + PP(0.2558, 36) #c6 = z3 + PP(0.251482, -143) #z4 = z3 + PP(0.729664, -77) #c7 = z4 + PP(0.328092, 109) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLsel(cls, ta=None, **kwargs): #M 140.025,358.129 C 140.025,368.714 142.839,374.47 152.339,374.47 153.45,374.47 153.78658,373.83086 153.722,373.225 153.65792,372.6239 153.26897,371.40064 152.47631,371.57978 151.38021,371.82751 150.71553,373.35163 150.62075,374.40158 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.989008, -5.74321) #z1 = P(4.32788, -5.74321) #c2 = P(4.71835, -5.74321) #c3 = P(4.83664, -5.51857) #z2 = P(4.81395, -5.30564) #c4 = P(4.79142, -5.09438) #c5 = P(4.65472, -4.66445) #z3 = P(4.37614, -4.72741) #c6 = P(3.9909, -4.81448) #c7 = P(3.75729, -5.35014) z4 = P(3.72398, -5.71916) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32788, -5.74321) #c1 = z1 + P(-3.33887, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.486069, 0.437568) #c3 = z2 + P(0.0226973, -0.212935) #c4 = z2 + P(-0.0225215, 0.211263) #z3 = z2 + P(-0.43781, 0.578229) #c5 = z3 + P(0.278588, 0.0629605) #c6 = z3 + P(-0.385235, -0.0870672) #z4 = z3 + P(-0.652155, -0.991749) #c7 = z4 + P(0.0333114, 0.369015) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19131, -52) c1 = z1 + PP(3.33887, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.65401, 41) c3 = z2 + PP(0.214142, -83) c4 = z2 + PP(0.21246, 96) #z3 = z2 + PP(0.725277, 127) z3 = z4 - PP(1.18696, ta + -27) c5 = z3 + PP(0.285614, 12) #c6 = z3 + PP(0.394952, -167) #z4 = z3 + PP(1.18696, -123) #c7 = z4 + PP(0.370516, 84) 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), curve(), endknot(*z4, angle=ta) ])
def path_ECLer(cls, ta=None, **kwargs): #M 114.9,12.9944 C 122.46,12.8625 130.02,12.7305 137.577,12.9944 138.842,13.0165 138.84304,9.6768793 136.18904,9.6768793 135.04404,9.6768793 134.24904,10.680779 134.67304,11.549079 135.14604,12.477779 137.1463,12.446854 138.2803,11.965454 #z0 = P(0, -0) #c0 = P(2.667, 0.0465314) #c1 = P(5.334, 0.0930981) #z1 = P(7.99994, -0) #c2 = P(8.44621, -0.00779639) #c3 = P(8.44657, 1.17035) #z2 = P(7.5103, 1.17035) #c4 = P(7.10637, 1.17035) #c5 = P(6.82591, 0.816194) #z3 = P(6.97549, 0.509877) #c6 = P(7.14235, 0.182252) #c7 = P(7.848, 0.193162) z4 = P(8.24805, 0.362989) #z0 = P(0, -0) #c0 = z0 + P(2.667, 0.0465314) #z1 = z0 + P(7.99994, 0) #c1 = z1 + P(-2.66594, 0.0930981) #c2 = z1 + P(0.446264, -0.00779639) #z2 = z1 + P(-0.489641, 1.17035) #c3 = z2 + P(0.936272, 0) #c4 = z2 + P(-0.403931, 0) #z3 = z2 + P(-0.534811, -0.66047) #c5 = z3 + P(-0.149578, 0.306317) #c6 = z3 + P(0.166864, -0.327625) #z4 = z3 + P(1.27256, -0.146888) #c7 = z4 + P(-0.40005, -0.169827) z0 = P(0, -0) c0 = z0 + PP(2.66741, 0) z1 = z0 + PP(7.99994, 0) c1 = z1 + PP(2.66757, 177) c2 = z1 + PP(0.446332, -1) z2 = z1 + PP(1.26865, 112) c3 = z2 + PP(0.936272, 0) c4 = z2 + PP(0.403931, 180) #z3 = z2 + PP(0.849849, -128) z3 = z4 - PP(1.28101, ta + 330) c5 = z3 + PP(0.340886, 116) #c6 = z3 + PP(0.36767, -63) #z4 = z3 + PP(1.28101, -6) #c7 = z4 + PP(0.434605, -156) 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), curve(), endknot(*z4, angle=ta) ])
def path_ERCRer(cls, ta=None, **kwargs): #M 180.059,112.132 C 185.79,109.817 190.497,108.58 194.308,108.58 197.376,108.58 202.159,108.58302 202.159,112.09002 202.159,115.05002 197.30531,115.74111 195.50431,114.48011 193.49831,113.07511 195.48753,110.88259 198.43853,109.17859 #z0 = P(0, -0) #c0 = P(2.02177, 0.816681) #c1 = P(3.68229, 1.25307) #z1 = P(5.02673, 1.25307) #c2 = P(6.10905, 1.25307) #c3 = P(7.79639, 1.252) #z2 = P(7.79639, 0.0148096) #c4 = P(7.79639, -1.02941) #c5 = P(6.08411, -1.27321) #z3 = P(5.44876, -0.828361) #c6 = P(4.74109, -0.332708) #c7 = P(5.44284, 0.440764) z4 = P(6.48389, 1.0419) #z0 = P(0, -0) #c0 = z0 + P(2.02177, 0.816681) #z1 = z0 + P(5.02673, 1.25307) #c1 = z1 + P(-1.34444, 0) #c2 = z1 + P(1.08232, 0) #z2 = z1 + P(2.76966, -1.23826) #c3 = z2 + P(0, 1.23719) #c4 = z2 + P(0, -1.04422) #z3 = z2 + P(-2.34763, -0.843171) #c5 = z3 + P(0.635353, -0.444853) #c6 = z3 + P(-0.707672, 0.495653) #z4 = z3 + P(1.03513, 1.87026) #c7 = z4 + P(-1.04105, -0.601133) z0 = P(0, -0) c0 = z0 + PP(2.18049, 21) z1 = z0 + PP(5.18056, 13) c1 = z1 + PP(1.34444, 180) c2 = z1 + PP(1.08232, 0) z2 = z1 + PP(3.03386, -24) c3 = z2 + PP(1.23719, 90) c4 = z2 + PP(1.04422, -90) #z3 = z2 + PP(2.49445, -160) z3 = z4 - PP(2.13761, ta + 390) c5 = z3 + PP(0.775608, -34) #c6 = z3 + PP(0.863986, 144) #z4 = z3 + PP(2.13761, 61) #c7 = z4 + PP(1.20214, -149) 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), curve(), endknot(*z4, angle=ta) ])
def path_nerSERCNWRser(cls, ta=None, **kwargs): #M 92.3666,221.445 C 99.506408,221.445 107.94027,239.19442 101.345,242.598 98.545768,244.04258 93.616215,243.59789 92.754015,239.54189 92.220615,236.17389 95.777016,238.55442 97.097656,239.2252 98.367415,239.87014 100.36386,241.3094 101.612,242.301 #z0 = P(0, -0) #c0 = P(2.51877, -0) #c1 = P(5.49404, -6.2616) #z1 = P(3.16738, -7.46231) #c2 = P(2.17987, -7.97192) #c3 = P(0.440836, -7.81505) #z2 = P(0.136671, -6.38418) #c4 = P(-0.0515003, -5.19603) #c5 = P(1.20312, -6.03582) #z3 = P(1.66901, -6.27246) #c6 = P(2.11695, -6.49998) #c7 = P(2.82126, -7.00772) z4 = P(3.26157, -7.35753) #z0 = P(0, -0) #c0 = z0 + P(2.51877, 0) #z1 = z0 + P(3.16738, -7.46231) #c1 = z1 + P(2.32666, 1.20071) #c2 = z1 + P(-0.987507, -0.509616) #z2 = z1 + P(-3.03071, 1.07813) #c3 = z2 + P(0.304165, -1.43087) #c4 = z2 + P(-0.188172, 1.18816) #z3 = z2 + P(1.53234, 0.111721) #c5 = z3 + P(-0.465892, 0.236636) #c6 = z3 + P(0.447943, -0.22752) #z4 = z3 + P(1.59256, -1.08507) #c7 = z4 + P(-0.440316, 0.349814) z0 = P(0, -0) c0 = z0 + PP(2.51877, 0) z1 = z0 + PP(8.10669, -67) c1 = z1 + PP(2.61822, 27) c2 = z1 + PP(1.11125, -152) z2 = z1 + PP(3.21676, 160) c3 = z2 + PP(1.46284, -77) c4 = z2 + PP(1.20296, 98) #z3 = z2 + PP(1.53641, 4) z3 = z4 - PP(1.92708, ta + 5) c5 = z3 + PP(0.522544, 153) #c6 = z3 + PP(0.502412, -26) #z4 = z3 + PP(1.92708, -34) #c7 = z4 + PP(0.56236, 141) 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), curve(), endknot(*z4, angle=ta) ])
def path_ERCRse(cls, ta=None, **kwargs): #M47.3414 280.599C53.0937 278.275 57.8188 277.033 61.6437 277.033C64.7227 277.033 69.524 278.063 69.524 281.583C69.524 284.554 63.9617 282.848 62.154 281.583C60.5203 280.439 59.5571 279.561 58.4844 277.361 #z0 = P(0, -0) #c0 = P(2.0217, 0.816793) #c1 = P(3.68239, 1.25331) #z1 = P(5.02668, 1.25331) #c2 = P(6.10883, 1.25331) #c3 = P(7.79629, 0.891302) #z2 = P(7.79629, -0.345837) #c4 = P(7.79629, -1.39002) #c5 = P(5.84137, -0.790433) #z3 = P(5.20603, -0.345837) #c6 = P(4.63185, 0.0562336) #c7 = P(4.29333, 0.364815) z4 = P(3.91632, 1.13803) #z0 = P(0, -0) #c0 = z0 + P(2.0217, 0.816793) #z1 = z0 + P(5.02668, 1.25331) #c1 = z1 + P(-1.3443, 0) #c2 = z1 + P(1.08214, 0) #z2 = z1 + P(2.76961, -1.59914) #c3 = z2 + P(0, 1.23714) #c4 = z2 + P(0, -1.04419) #z3 = z2 + P(-2.59026, 0) #c5 = z3 + P(0.635334, -0.444597) #c6 = z3 + P(-0.57418, 0.40207) #z4 = z3 + P(-1.28972, 1.48386) #c7 = z4 + P(0.377011, -0.773212) z0 = P(0, -0) c0 = z0 + PP(2.18047, 21) z1 = z0 + PP(5.18057, 14) c1 = z1 + PP(1.3443, 180) c2 = z1 + PP(1.08214, 0) z2 = z1 + PP(3.19812, -30) c3 = z2 + PP(1.23714, 90) c4 = z2 + PP(1.04419, -90) z3 = z2 + PP(2.59026, 180) #z3 = z4 - PP(1.96602, ta + 374) c5 = z3 + PP(0.775445, -34) #c6 = z3 + PP(0.700959, 144) #z4 = z3 + PP(1.96602, 130) #c7 = z4 + PP(0.860229, -64) 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), curve(), endknot(*z4, angle=ta + 180) ])
def path_ERCRnel(cls, ta=None, **kwargs): #M 96.1217,165.588 C 101.874,163.264 106.599,162.022 110.424,162.022 113.503,162.022 118.304,163.052 118.304,166.571 118.304,170.62619 109.47384,167.33207 109.10091,164.73791 108.72798,162.14375 113.03261,163.48619 115.45887,162.95087 #z0 = P(0, -0) #c0 = P(2.0217, 0.816793) #c1 = P(3.68235, 1.25331) #z1 = P(5.02668, 1.25331) #c2 = P(6.10883, 1.25331) #c3 = P(7.79619, 0.891302) #z2 = P(7.79619, -0.345485) #c4 = P(7.79619, -1.77072) #c5 = P(4.69274, -0.612971) #z3 = P(4.56167, 0.298773) #c6 = P(4.4306, 1.21052) #c7 = P(5.94351, 0.738702) z4 = P(6.79624, 0.926845) #z0 = P(0, -0) #c0 = z0 + P(2.0217, 0.816793) #z1 = z0 + P(5.02668, 1.25331) #c1 = z1 + P(-1.34433, 0) #c2 = z1 + P(1.08214, 0) #z2 = z1 + P(2.7695, -1.59879) #c3 = z2 + P(0, 1.23679) #c4 = z2 + P(0, -1.42524) #z3 = z2 + P(-3.23452, 0.644258) #c5 = z3 + P(0.13107, -0.911743) #c6 = z3 + P(-0.13107, 0.911743) #z4 = z3 + P(2.23457, 0.628073) #c7 = z4 + P(-0.852733, -0.188144) z0 = P(0, -0) c0 = z0 + PP(2.18047, 21) z1 = z0 + PP(5.18057, 14) c1 = z1 + PP(1.34433, 180) c2 = z1 + PP(1.08214, 0) z2 = z1 + PP(3.19786, -29) c3 = z2 + PP(1.23679, 90) c4 = z2 + PP(1.42524, -90) #z3 = z2 + PP(3.29806, 168) z3 = z4 - PP(2.32116, ta + 362) c5 = z3 + PP(0.921116, -81) #c6 = z3 + PP(0.921116, 98) #z4 = z3 + PP(2.32116, 15) #c7 = z4 + PP(0.873242, -167) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLsw(cls, ta=None, **kwargs): #M 47.3414,447.917 C 47.3414,458.502 50.1558,464.258 59.6556,464.258 60.7666,464.258 60.949914,463.41631 60.938405,462.80728 60.914052,461.51865 59.985014,461.08877 59.498616,461.84565 59.065229,462.52004 58.888305,463.2158 58.438665,464.22457 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.989149, -5.74321) #z1 = P(4.32795, -5.74321) #c2 = P(4.71842, -5.74321) #c3 = P(4.78285, -5.44739) #z2 = P(4.7788, -5.23334) #c4 = P(4.77024, -4.78043) #c5 = P(4.44372, -4.62935) #z3 = P(4.27277, -4.89536) #c6 = P(4.12046, -5.13238) #c7 = P(4.05827, -5.37691) z4 = P(3.90024, -5.73146) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32795, -5.74321) #c1 = z1 + P(-3.3388, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.450854, 0.50987) #c3 = z2 + P(0.00404495, -0.21405) #c4 = z2 + P(-0.0085591, 0.452902) #z3 = z2 + P(-0.506028, 0.337974) #c5 = z3 + P(0.170949, 0.266013) #c6 = z3 + P(-0.152318, -0.237021) #z4 = z3 + P(-0.37253, -0.836095) #c7 = z4 + P(0.15803, 0.354542) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19135, -52) c1 = z1 + PP(3.3388, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.680615, 48) c3 = z2 + PP(0.214088, -88) c4 = z2 + PP(0.452983, 91) #z3 = z2 + PP(0.608515, 146) z3 = z4 - PP(0.915332, ta + 1) c5 = z3 + PP(0.316207, 57) #c6 = z3 + PP(0.281744, -122) #z4 = z3 + PP(0.915332, -114) #c7 = z4 + PP(0.388167, 65) 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), curve(), endknot(*z4, angle=ta) ])
def path_ECLsw(cls, ta=None, **kwargs): #M 47.070032,189.99693 C 61.232932,189.25493 75.441032,189.00793 89.589732,189.99693 90.333932,190.03593 90.91057,189.37492 90.992632,188.59393 91.05967,187.95592 90.337489,187.46308 89.669096,187.69439 88.808889,187.99208 88.402471,188.98332 88.091571,189.83732 #z0 = P(0, -0) #c0 = P(4.99636, 0.261761) #c1 = P(10.0087, 0.348897) #z1 = P(15, -0) #c2 = P(15.2625, -0.0137583) #c3 = P(15.466, 0.219431) #z2 = P(15.4949, 0.494947) #c4 = P(15.5186, 0.720023) #c5 = P(15.2638, 0.893886) #z3 = P(15.028, 0.812285) #c6 = P(14.7245, 0.707267) #c7 = P(14.5812, 0.357579) z4 = P(14.4715, 0.0563069) #z0 = P(0, -0) #c0 = z0 + P(4.99636, 0.261761) #z1 = z0 + P(15, 0) #c1 = z1 + P(-4.99135, 0.348897) #c2 = z1 + P(0.262537, -0.0137583) #z2 = z1 + P(0.494912, 0.494947) #c3 = z2 + P(-0.0289496, -0.275516) #c4 = z2 + P(0.0236495, 0.225076) #z3 = z2 + P(-0.466914, 0.317338) #c5 = z3 + P(0.235794, 0.081601) #c6 = z3 + P(-0.303462, -0.105018) #z4 = z3 + P(-0.556516, -0.755978) #c7 = z4 + P(0.109679, 0.301272) z0 = P(0, -0) c0 = z0 + PP(5.00321, 2) z1 = z0 + PP(15, 0) c1 = z1 + PP(5.00353, 176) c2 = z1 + PP(0.262897, -2) z2 = z1 + PP(0.699936, 45) c3 = z2 + PP(0.277033, -95) c4 = z2 + PP(0.226315, 84) #z3 = z2 + PP(0.564546, 145) z3 = z4 - PP(0.938729, ta + -15) c5 = z3 + PP(0.249515, 19) #c6 = z3 + PP(0.32112, -160) #z4 = z3 + PP(0.938729, -126) #c7 = z4 + PP(0.320616, 69) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLer(cls, ta=None, **kwargs): #M 173.943,154.69 C 173.943,178.202 178.10151,197.89723 196.451,193.675 197.88573,193.34487 198.95872,191.07231 198.04821,190.16488 196.8793,188.99992 193.1534,190.6284 193.54887,192.23061 193.8511,193.45505 194.11233,194.01595 197.327,192.028 #z0 = P(0, -0) #c0 = P(0, -8.26352) #c1 = P(1.46155, -15.1856) #z1 = P(7.91066, -13.7017) #c2 = P(8.41491, -13.5856) #c3 = P(8.79202, -12.7869) #z2 = P(8.47201, -12.468) #c4 = P(8.06119, -12.0586) #c5 = P(6.75168, -12.6309) #z3 = P(6.89068, -13.194) #c6 = P(6.9969, -13.6244) #c7 = P(7.08871, -13.8215) z4 = P(8.21854, -13.1228) #z0 = P(0, -0) #c0 = z0 + P(0, -8.26352) #z1 = z0 + P(7.91066, -13.7017) #c1 = z1 + P(-6.44911, -1.48394) #c2 = z1 + P(0.50425, 0.116027) #z2 = z1 + P(0.561355, 1.23367) #c3 = z2 + P(0.320008, -0.318925) #c4 = z2 + P(-0.410825, 0.409437) #z3 = z2 + P(-1.58134, -0.726021) #c5 = z3 + P(-0.138992, 0.563113) #c6 = z3 + P(0.106222, -0.430342) #z4 = z3 + P(1.32786, 0.0712093) #c7 = z4 + P(-1.12983, -0.698685) z0 = P(0, -0) c0 = z0 + PP(8.26352, -90) z1 = z0 + PP(15.8213, -60) c1 = z1 + PP(6.61764, -167) c2 = z1 + PP(0.517427, 12) z2 = z1 + PP(1.35538, 65) c3 = z2 + PP(0.451794, -44) c4 = z2 + PP(0.580013, 135) #z3 = z2 + PP(1.74004, -155) z3 = z4 - PP(1.32977, ta + 331) c5 = z3 + PP(0.580012, 103) #c6 = z3 + PP(0.443257, -76) #z4 = z3 + PP(1.32977, 3) #c7 = z4 + PP(1.32841, -148) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLer(cls, ta=None, **kwargs): #M 157.033,131.515 C 157.033,142.1 159.847,147.856 169.347,147.856 170.458,147.856 170.74627,147.22106 170.73,146.611 170.67771,144.65054 167.44443,145.25043 167.44015,146.62098 167.43435,148.47762 169.2055,146.90413 170.59824,146.00674 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.989008, -5.74321) #z1 = P(4.32788, -5.74321) #c2 = P(4.71835, -5.74321) #c3 = P(4.81966, -5.52005) #z2 = P(4.81395, -5.30564) #c4 = P(4.79557, -4.61662) #c5 = P(3.6592, -4.82745) #z3 = P(3.6577, -5.30915) #c6 = P(3.65566, -5.96168) #c7 = P(4.27815, -5.40866) z4 = P(4.76764, -5.09327) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32788, -5.74321) #c1 = z1 + P(-3.33887, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.486069, 0.437568) #c3 = z2 + P(0.00571825, -0.214412) #c4 = z2 + P(-0.0183778, 0.689023) #z3 = z2 + P(-1.15625, -0.00350757) #c5 = z3 + P(0.00150425, 0.481693) #c6 = z3 + P(-0.00203847, -0.652534) #z4 = z3 + P(1.10994, 0.215881) #c7 = z4 + P(-0.489492, -0.315397) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19131, -52) c1 = z1 + PP(3.33887, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.65401, 41) c3 = z2 + PP(0.214488, -88) c4 = z2 + PP(0.689268, 91) #z3 = z2 + PP(1.15626, -179) z3 = z4 - PP(1.13074, ta + 338) c5 = z3 + PP(0.481696, 89) #c6 = z3 + PP(0.652538, -90) #z4 = z3 + PP(1.13074, 11) #c7 = z4 + PP(0.582304, -147) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLsr(cls, ta=None, **kwargs): #M 168.274,332.14 C 168.274,355.652 172.299,374.718 190.782,371.125 191.557,370.988 191.89935,370.05039 191.658,369.477 191.12051,368.20005 188.61716,367.29582 187.66977,368.30673 186.91201,369.1153 188.14709,370.18923 188.81054,371.4293 #z0 = P(0, -0) #c0 = P(0, -8.26352) #c1 = P(1.41463, -14.9645) #z1 = P(7.91066, -13.7017) #c2 = P(8.18304, -13.6535) #c3 = P(8.30336, -13.324) #z2 = P(8.21854, -13.1225) #c4 = P(8.02963, -12.6737) #c5 = P(7.1498, -12.3559) #z3 = P(6.81683, -12.7112) #c6 = P(6.55051, -12.9953) #c7 = P(6.98459, -13.3728) z4 = P(7.21777, -13.8086) #z0 = P(0, -0) #c0 = z0 + P(0, -8.26352) #z1 = z0 + P(7.91066, -13.7017) #c1 = z1 + P(-6.49603, -1.2628) #c2 = z1 + P(0.272381, 0.04815) #z2 = z1 + P(0.307879, 0.579206) #c3 = z2 + P(0.0848248, -0.201524) #c4 = z2 + P(-0.188906, 0.448797) #z3 = z2 + P(-1.4017, 0.411303) #c5 = z3 + P(0.33297, 0.355294) #c6 = z3 + P(-0.266322, -0.28418) #z4 = z3 + P(0.400935, -1.09746) #c7 = z4 + P(-0.233176, 0.435835) z0 = P(0, -0) c0 = z0 + PP(8.26352, -90) z1 = z0 + PP(15.8213, -60) c1 = z1 + PP(6.61764, -168) c2 = z1 + PP(0.276605, 10) z2 = z1 + PP(0.655949, 62) c3 = z2 + PP(0.218648, -67) c4 = z2 + PP(0.486933, 112) #z3 = z2 + PP(1.4608, 163) z3 = z4 - PP(1.1684, ta + -7) c5 = z3 + PP(0.486932, 46) #c6 = z3 + PP(0.389469, -133) #z4 = z3 + PP(1.1684, -69) #c7 = z4 + PP(0.49429, 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLel(cls, ta=None, **kwargs): #M 107.856,131.515 C 107.856,142.1 110.671,147.856 120.171,147.856 121.282,147.856 121.83225,146.87222 121.83225,146.26194 121.83225,145.14326 120.16584,144.33832 119.14127,144.90561 117.97696,145.55027 120.32094,146.76817 121.36854,147.34231 #z0 = P(0, -0) #c0 = P(0, -3.7202) #c1 = P(0.98936, -5.74321) #z1 = P(4.32823, -5.74321) #c2 = P(4.7187, -5.74321) #c3 = P(4.91209, -5.39745) #z2 = P(4.91209, -5.18296) #c4 = P(4.91209, -4.78979) #c5 = P(4.32641, -4.50688) #z3 = P(3.96632, -4.70626) #c6 = P(3.55711, -4.93283) #c7 = P(4.38093, -5.36088) z4 = P(4.74912, -5.56266) #z0 = P(0, -0) #c0 = z0 + P(0, -3.7202) #z1 = z0 + P(4.32823, -5.74321) #c1 = z1 + P(-3.33887, 0) #c2 = z1 + P(0.390472, 0) #z2 = z1 + P(0.583863, 0.560248) #c3 = z2 + P(0, -0.214489) #c4 = z2 + P(0, 0.393171) #z3 = z2 + P(-0.945771, 0.476696) #c5 = z3 + P(0.360095, 0.19938) #c6 = z3 + P(-0.409208, -0.226572) #z4 = z3 + P(0.782796, -0.856402) #c7 = z4 + P(-0.368189, 0.201787) z0 = P(0, -0) c0 = z0 + PP(3.7202, -90) z1 = z0 + PP(7.19152, -52) c1 = z1 + PP(3.33887, 180) c2 = z1 + PP(0.390472, 0) z2 = z1 + PP(0.809181, 43) c3 = z2 + PP(0.214489, -90) c4 = z2 + PP(0.393171, 90) #z3 = z2 + PP(1.05911, 153) z3 = z4 - PP(1.16026, ta + -18) c5 = z3 + PP(0.411608, 28) #c6 = z3 + PP(0.467746, -151) #z4 = z3 + PP(1.16026, -47) #c7 = z4 + PP(0.419859, 151) 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), curve(), endknot(*z4, angle=ta) ])
def path_SELCLsel(cls, ta=None, **kwargs): #M 156.935,450.83 C 156.935,462.586 157.94125,473.2305 161.25788,480.48687 164.5745,487.74325 173.07573,492.23788 179.443,489.815 181.78367,488.92433 179.85014,486.22854 178.11392,487.13483 177.14918,487.68651 177.16536,489.05001 177.12907,490.3201 #z0 = P(0, -0) #c0 = P(0, -4.13176) #c1 = P(0.353657, -7.87288) #z1 = P(1.51932, -10.4232) #c2 = P(2.68498, -12.9735) #c3 = P(5.67282, -14.5532) #z2 = P(7.91066, -13.7017) #c4 = P(8.73331, -13.3886) #c5 = P(8.05375, -12.4412) #z3 = P(7.44354, -12.7597) #c6 = P(7.10447, -12.9536) #c7 = P(7.11016, -13.4328) z4 = P(7.09741, -13.8792) #z0 = P(0, -0) #c0 = z0 + P(0, -4.13176) #z1 = z0 + P(1.51932, -10.4232) #c1 = z1 + P(-1.16566, 2.55032) #c2 = z1 + P(1.16566, -2.55033) #z2 = z1 + P(6.39134, -3.27846) #c3 = z2 + P(-2.23784, -0.851545) #c4 = z2 + P(0.822652, 0.313035) #z3 = z2 + P(-0.467118, 0.941972) #c5 = z3 + P(0.610212, 0.318525) #c6 = z3 + P(-0.339067, -0.193893) #z4 = z3 + P(-0.346135, -1.11949) #c7 = z4 + P(0.0127545, 0.446386) 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.18314, -27) c3 = z2 + PP(2.39438, -159) c4 = z2 + PP(0.880197, 20) #z3 = z2 + PP(1.05143, 116) z3 = z4 - PP(1.17178, ta + -15) c5 = z3 + PP(0.688343, 27) #c6 = z3 + PP(0.390591, -150) #z4 = z3 + PP(1.17178, -107) #c7 = z4 + PP(0.446568, 88) 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), curve(), endknot(*z4, angle=ta) ])
def path_ERCRne(cls, ta=None, **kwargs): #M 47.3414,165.588 C 53.0937,163.264 57.8188,162.022 61.6437,162.022 64.7227,162.022 69.524,163.052 69.524,166.571 69.524,169.543 62.685436,170.36919 60.877736,169.10319 59.244036,167.96019 63.064876,164.03162 65.658357,162.58252 #z0 = P(0, -0) #c0 = P(2.0217, 0.816793) #c1 = P(3.68239, 1.25331) #z1 = P(5.02668, 1.25331) #c2 = P(6.10883, 1.25331) #c3 = P(7.79629, 0.891302) #z2 = P(7.79629, -0.345485) #c4 = P(7.79629, -1.39002) #c5 = P(5.39281, -1.6804) #z3 = P(4.75748, -1.23545) #c6 = P(4.1833, -0.83373) #c7 = P(5.52617, 0.547005) z4 = P(6.43768, 1.05631) #z0 = P(0, -0) #c0 = z0 + P(2.0217, 0.816793) #z1 = z0 + P(5.02668, 1.25331) #c1 = z1 + P(-1.3443, 0) #c2 = z1 + P(1.08214, 0) #z2 = z1 + P(2.76961, -1.59879) #c3 = z2 + P(0, 1.23679) #c4 = z2 + P(0, -1.04454) #z3 = z2 + P(-3.03881, -0.889963) #c5 = z3 + P(0.635334, -0.444948) #c6 = z3 + P(-0.57418, 0.401719) #z4 = z3 + P(1.6802, 2.29175) #c7 = z4 + P(-0.911505, -0.509301) z0 = P(0, -0) c0 = z0 + PP(2.18047, 21) z1 = z0 + PP(5.18057, 14) c1 = z1 + PP(1.3443, 180) c2 = z1 + PP(1.08214, 0) z2 = z1 + PP(3.19795, -29) c3 = z2 + PP(1.23679, 90) c4 = z2 + PP(1.04454, -90) #z3 = z2 + PP(3.16645, -163) z3 = z4 - PP(2.84169, ta + 383) c5 = z3 + PP(0.775647, -35) #c6 = z3 + PP(0.700757, 145) #z4 = z3 + PP(2.84169, 53) #c7 = z4 + PP(1.04414, -150) 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), curve(), endknot(*z4, angle=ta) ])