QuarterEllipse(a, b, c) : if k == (1., 0.552) rel (a, b, c) , f == (0.552, 1.) rel (a, b, c) | T -> stroke (c, f, k, b) fi Ellipse(a, b, c) : if e == (0., 1.) rel (a, b, c) , d == (0., - 1.) rel (a, b, c) , c == (- 1., - 0.) rel (a, b, c) | T -> QuarterEllipse(a, b, e) ; QuarterEllipse(a, e, c) ; QuarterEllipse(a, c, d) ; QuarterEllipse(a, d, b) fi FillQuarterEllipse(a, b, c) : if k == (1., 0.552) rel (a, b, c) , f == (0.552, 1.) rel (a, b, c) | T -> fill (c, f, k, b), (b, a), (a, c) fi FillEllipse(a, b, c) : if d == (- 1, 0) rel (a, b, c) , e == (0, - 1) rel (a, b, c) | T -> FillQuarterEllipse(a, b, c) ; FillQuarterEllipse(a, c, d) ; FillQuarterEllipse(a, d, e) ; FillQuarterEllipse(a, e, b) fi BlackEllipse(a, b, c): black paint Ellipse(a, b, c) FilledEllipse(a, b, c) : BlackEllipse(a, b, c); FillEllipse(a, b, c) FillLune(a, b1, b2, c) : if k1 == (1., 0.552) rel (a, b1, c) , f1 == (0.552, 1.) rel (a, b1, c) , k2 == (1., 0.552) rel (a, b2, c) , f2 == (0.552, 1.) rel (a, b2, c) | T -> fill (c, f1, k1, b1), (b1, b2), (b2, k2, f2, c) fi QuarterCircle(a, b) : if c == (0, 1) rel (a, b) | T -> QuarterEllipse(a, b, c) fi Circle(a, b) : if c == (0, 1) rel (a, b) | T -> Ellipse(a, b, c) fi stroke4(a, b, c, d): black paint stroke (a, b, c, d) Coeur(a, b) : if f == (0.3185, 0.9218) rel (a, b) , e == (- 0.4127, 0.4211) rel (a, b) , d == (- 0.4127, - 0.4211) rel (a, b) , c == (0.3185, - 0.9218) rel (a, b) | (c, f) para (d, e) and (a, e) cong (d, a) and (a, f) cong (c, a) and (b, f) cong (c, b) -> red paint fill (a, d, c, b), (b, f, e, a) fi QuarterBody(a, b) : if c == (0., 1.) rel (a, b) | T -> QuarterFilledElipse(a, b, c) fi QuarterFilledElipse(a, b, c) : if k == (1., 0.552) rel (a, b, c) , f == (0.552, 1.) rel (a, b, c) | T -> fill (b, k, f, c), (c, a), (a, b) ; black paint stroke (b, k, f, c) fi FilledEllipses(a, b, c, x) : if y == (1, 0.9) rel (a, x, b) , z == (0.9, 1) rel (a, c, x) | T -> FilledEllipse(a, b, c); FilledEllipse(x, y, z) fi Eyes(m, r, h, p) : if l == (- 1, 0) rel (m, r, h) , b == (1.55, 0) rel (m, r, h) , c == (1, 1) rel (m, r, h) , k == (2, 1) rel (r, m, p) , d == (1, 0.33) rel (m, p, r) , e == (1, 0.6) rel (m, p, h) , w == (0, 0.1) rel (m, h) | T -> cyan paint (m, w) width FilledEllipses(r, b, c, l) ; black paint FilledEllipses(p, d, e, k) fi Curl(a, b) : if f == (1, - 0.1) rel (a, b) , e == (1.05, - 0.05) rel (a, b) , d == (1.05, 0.05) rel (a, b) , c == (1, 0.1) rel (a, b) | T -> black paint stroke (c, d, e, f) fi Smile(a, b) : if e == (1, 0.57) rel (a, b) , h == (0.3, 0.53) rel (a, b) , k == (- 0.12, 0.17) rel (a, b) , f == (1, 0.6) rel (a, b) , i == (0.3, 0.57) rel (a, b) | T -> black paint fill (b, e, h, k), (k, i, f, b) ; black paint round ends stroke (b, e, h, k) ; round ends stroke (k, i, f, b); Curl(h, k) fi Body(a, b) : if e == (0., 1.) rel (a, b) , d == (0., - 1.) rel (a, b) , c == (- 1., - 0.) rel (a, b) , m == (0.48, - 0.53) rel (a, b) , r == (0.37, - 0.45) rel (a, b) , h == (0.37, - 0.65) rel (a, b) , p == (0.38, - 0.46) rel (a, b) | T -> QuarterBody(a, e) ; QuarterBody(a, c) ; QuarterBody(a, d) ; QuarterBody(a, b) ; Eyes(m, r, h, p) ; Smile(a, b) fi Leg(hip, heel, toe) : if n == (- 0.15, 0.07) rel (heel, hip, toe) , m == (1.04, 0.2) rel (heel, hip, toe) , l == (0.24, 0.38) rel (heel, hip, toe) , k == (0.4, 0.31) rel (heel, hip, toe) , j == (0.78, 0.29) rel (heel, hip, toe) , i == (0.22, 0.43) rel (heel, hip, toe) , h == (0.86, 0.41) rel (heel, hip, toe) , g == (0.25, 0.64) rel (heel, hip, toe) , f == (0.59, 0.46) rel (heel, hip, toe) , e == (0.16, 0.91) rel (heel, hip, toe) , d == (- 0.13, 0.97) rel (heel, hip, toe) | T -> fill (l, g, e, toe), (toe, d, n, heel), (heel, l) ; stroke4(toe, e, g, l) ; fill (m, h, f, i) , (i, heel) , (heel, k, j, hip) , (hip, m) ; black paint stroke (m, h, f, i) ; stroke (heel, k, j, hip) ; stroke (toe, d, n, heel) fi UncoloredThing(center, base) : if lhip == (0.4, 0.29) rel (center, base) , lheel == (1.15, 0.55) rel (center, base) , ltoe == (1.25, - 0.65) rel (center, base) , nose == (0.219, - 0.5661) rel (center, base) , rhip == (0.18, - 0.06) rel (center, base) , rheel == (0.9, 0.2) rel (center, base) , rtoe == (0.98, - 0.93) rel (center, base) , w == (0.01, 0) rel (center, base) | T -> center, w width round ends Leg(rhip, rheel, rtoe) ; Body(center, nose) ; Leg(lhip, lheel, ltoe) fi Thing(a, b): (225, 225, 0) paint UncoloredThing(a, b) ThingPlaced(a, b) : (0, 255, 0) paint UncoloredThingPlaced(a, b) UncoloredThingPlaced(a, b) : if e == (0.5209, 0.3603) rel (a, b) , d == (0.3612, 0.4803) rel (a, b) , c == (0.6806, 0.2402) rel (a, b) | (e, c) cong (d, e) and (c, b) cong (d, c) and hor (b, d) and hor (c, d) and ver (a, d) -> UncoloredThing(c, b) fi Dot(x): 6 width round ends black paint stroke (x, x) Dots(x, y): red paint draw (x, y) ThigsGalore(a) : if a5 == (- 23., - 514.) rel (a) , a4 == (- 28., - 197.) rel (a) , a3 == (- 29., - 488.) rel (a) , a2 == (- 29., - 56.) rel (a) , a1 == (- 29., - 12.) rel (a) , a0 == (- 30., - 340.) rel (a) , z == (- 31., - 119.) rel (a) , y == (- 32., - 243.) rel (a) , x == (- 33., - 365.) rel (a) , w == (- 33., - 584.) rel (a) , v == (- 34., - 143.) rel (a) , u == (- 35., - 273.) rel (a) , t == (- 40., - 406.) rel (a) , s == (- 43., - 449.) rel (a) , r == (- 45., - 475.) rel (a) , q == (- 46., - 171.) rel (a) , p == (- 47., 16.) rel (a) , o == (- 49., - 41.) rel (a) , n == (- 51., - 303.) rel (a) , m == (- 51., - 78.) rel (a) , l == (- 54., - 615.) rel (a) , k == (- 71., - 115.) rel (a) , j == (- 73., - 440.) rel (a) , i == (- 82., - 545.) rel (a) , h == (- 91., - 225.) rel (a) , g == (- 124., - 359.) rel (a) , f == (- 133., - 505.) rel (a) , e == (- 204., - 261.) rel (a) , d == (- 208., - 605.) rel (a) , c == (- 320., 22.) rel (a) | T -> ThingPlaced(a, z) ; ThingPlaced(a, q) ; ThingPlaced(a, y) ; ThingPlaced(a, n) ; ThingPlaced(a, a0) ; ThingPlaced(a, x) ; ThingPlaced(a, s) ; ThingPlaced(a, a3) ; ThingPlaced(a, i) ; ThingPlaced(a, j) ; ThingPlaced(a, g) ; ThingPlaced(a, h) ; ThingPlaced(a, w) ; ThingPlaced(a, a5) ; ThingPlaced(a, t) ; ThingPlaced(a, u) ; ThingPlaced(a, a4) ; ThingPlaced(a, r) ; ThingPlaced(a, l) ; ThingPlaced(a, f) ; ThingPlaced(a, d) ; ThingPlaced(a, e) ; ThingPlaced(a, v) ; ThingPlaced(a, m) ; ThingPlaced(a, k) ; ThingPlaced(a, a2) ; ThingPlaced(a, o) ; ThingPlaced(a, c) ; ThingPlaced(a, p) ; ThingPlaced(a, a1) fi Plaft(a, b, c) : (220, 128, 0) paint fill (a, b), (b, c), (c, a) TestPerp(a, b) : if c == (0, 0), d == (0, 0) | (a, c) perp (a, b) and (d, b) perp (a, b) and (a, c) cong (c, d) and (c, d) perp (a, c) -> draw (a, b), (b, d), (d, c), (c, a) fi TestEquals(a, b, c) : if m == (0, 0), n == (0, 0), o == (0, 0), p == (0, 0) | m = (0.6, 0.8) rel (a, b, c) and n = (0.7, 0.7) rel (a, b, c) and o = (0.8, 0.6) rel (a, b, c) and p = (- 0.7, - 0.7) rel (a, b, c) -> 10 width black paint stroke (a, a) ; stroke (m, m) ; stroke (b, b) ; stroke (c, c) ; stroke (n, n) ; stroke (o, o) ; stroke (p, p) ; 1 width Ellipse(a, b, c) fi SmallToe(a, b, c) : if g == (- 0.445, 0.3834) rel (a, b, c) , f == (0.8184, 0.5851) rel (a, b, c) , e == (- 0.5595, 0.7449) rel (a, b, c) , d == (- 0.3254, 0.8516) rel (a, b, c) | (e, d) para (d, c) -> stroke4(a, g, e, d) ; stroke4(d, c, f, b) ; fill (a, g, e, d), (d, c, f, b), (b, a) fi FourToes(a, b, c) : if l == (0, 1) rel (b, a, c) , k == (0.37, 0.92) rel (b, a, c) , j == (0.37, 0) rel (b, a, c) , i == (0.7, 0.85) rel (b, a, c) , h == (0.7, 0) rel (b, a, c) , f == (1, 0.8) rel (b, a, c) | T -> yellow paint SmToe(a, f); SmToe(h, i); SmToe(j, k); SmToe(b, l) fi SmToe(a, b) : if c == (0.9695, - 1.1524) rel (a, b) | T -> SmallToe(a, b, c) fi FiveThings(b, c) : if z == (- 1, 0) rel (b, c) , i == (0.67, 0) rel (z, c) , j == (0.67, 0) rel (z, i) , k == (0.67, 0) rel (z, j) , l == (0.67, 0) rel (z, k) | z = (- 1, 0) rel (b, c) and i = (0.8, 0) rel (z, c) and j = (0.8, 0) rel (z, i) and k = (0.8, 0) rel (z, j) and l = (0.8, 0) rel (z, k) -> (255, 0, 0) paint UncoloredThingPlaced(z, l) ; (240, 40, 0) paint UncoloredThingPlaced(z, k) ; (220, 80, 0) paint UncoloredThingPlaced(z, j) ; (200, 160, 0) paint UncoloredThingPlaced(z, i) ; (180, 200, 0) paint UncoloredThingPlaced(z, c) fi Κ"– "juno" style˜˜J˜k—˜J˜η—˜J˜y—˜J˜Π—˜5J˜—˜J˜.—˜J˜Χ—˜J˜@—˜J˜7—˜6J˜—˜ J˜²—˜J˜G—˜J˜ž—˜J˜€—˜J˜ά—˜ J˜³—˜ J˜Π—˜ J˜ύ—˜J˜ƒ—˜J˜ν—˜7J˜—˜J˜/—˜J˜ο—˜6J˜—˜#J˜—˜J˜Ώ —˜J˜2—˜J˜ͺ—˜J˜‹—˜J˜£—˜J˜‘—˜ J˜F—˜J˜Ζ——…—"ϊ$"