ArrowHead(a, b)
ArrowHead(a, b)
: if d == (- 0.238, - 0.508) rel (a, b)
, c == (- 0.238, 0.508) rel (a, b)
| T
-> fill (c, a), (a, d), (d, b), (b, c) fi
Arrow(c, d, a, b, g, f)
Arrow(c, d, a, b, g, f)
: if e == (0.893, 0.) rel (a, b), x == (0, 3) rel (a)
| (a, e) para (e, b) and (f, g) cong (e, b)
-> ArrowHead(e, b); a, x width stroke (c, d, a, e) fi
QuarterCircle(a, b)
QuarterCircle(a, b)
: if l == (1., 0.276) rel (a, b)
, k == (1., 0.552) rel (a, b)
, j == (1., 1.) rel (a, b)
, i == (0.888, 0.526) rel (a, b)
, h == (0.776, 0.776) rel (a, b)
, g == (0.707, 0.707) rel (a, b)
, f == (0.552, 1.) rel (a, b)
, e == (0.526, 0.888) rel (a, b)
, d == (0.276, 1.) rel (a, b)
, c == (0., 1.) rel (a, b)
| T
-> draw (c, f, k, b) fi
Circle(a, b)
: if e == (0., 1.) rel (a, b)
, d == (0., - 1.) rel (a, b)
, c == (- 1., - 0.) rel (a, b)
| T
-> QuarterCircle(a, e)
; QuarterCircle(a, c)
; QuarterCircle(a, d)
; QuarterCircle(a, b) fi
Carc1(center, a, b)
: if aa == (2, 0) rel (center, a)
, bb == (2, 0) rel (center, b)
| T
-> if c == (1, 1) rel (center, a, b)
| (c, center) cong (c, aa)
and (c, center) cong (c, bb)
-> Carc2(center, a, b, c) fi fi
Carc2(center, a, b, c)
: if f == (0.6, 0) rel (a, c), h == (0.6, 0) rel (b, c)
| T
-> if x == (0.5, 0) rel (f, h)
, y == (0.5, 0) rel (a, f)
, z == (0.5, 0) rel (b, h)
| T
-> if u == (0.5, 0) rel (y, x)
, v == (0.5, 0) rel (x, z)
| T
-> if w == (0.5, 0) rel (u, v) | T
-> if yy == (0, 0) rel (y)
, ff == (0, 0) rel (f)
, uu == (0, 0) rel (u)
, xx == (0, 0) rel (x)
, ww == (0, 0) rel (w)
, vv == (0, 0) rel (v)
, hh == (0, 0) rel (h)
, zz == (0, 0) rel (z)
| (a, yy) para (yy, ff)
and (a, yy) cong (yy, ff)
and (ff, xx) cong (xx, hh)
and (ff, xx) para (xx, hh)
and (hh, zz) para (zz, b)
and (hh, zz) cong (zz, b)
and (yy, uu) cong (uu, xx)
and (yy, uu) para (uu, xx)
and (xx, vv) cong (vv, zz)
and (xx, vv) para (vv, zz)
and (uu, ww) cong (ww, vv)
and (uu, ww) para (ww, vv)
and (center, ww) cong (center, a)
and (a, ff) cong (b, hh)
and (a, ff) para (a, c)
and (b, hh) para (b, c)
-> stroke (a, f, h, b) fi fi fi fi fi
Carc(a, b, c)
: if d == (1, 1) rel (a, b, c) | (a, d) cong (a, b)
-> Carc1(a, b, d); Carc1(a, d, c) fi
fill3(a, b, c): fill (a, b), (b, c)
fill5(a, b, c, d, e): fill (a, b), (b, c, d, e)
roundstroke(a, b, c, d)
: round ends c, d width stroke (a, b)
buttstroke(a, b, c, d)
: butt ends c, d width stroke (a, b)
Pawn2(a, b)
: if p0020 == (0.455, - 0.325) rel (a, b)
, p0019 == (0.462, - 0.287) rel (a, b)
, p0018 == (0.687, - 0.05) rel (a, b)
, z == (0.687, - 0.013) rel (a, b)
, y == (0.523, - 0.134) rel (a, b)
, x == (0.44, - 0.209) rel (a, b)
, w == (0.688, 0.056) rel (a, b)
, v == (0.758, 0.129) rel (a, b)
, u == (0.665, 0.056) rel (a, b)
, t == (0.561, - 0.033) rel (a, b)
, s == (0.412, - 0.159) rel (a, b)
, r == (0.594, 0.043) rel (a, b)
, q == (0.635, 0.092) rel (a, b)
, p == (0.694, 0.194) rel (a, b)
, o == (0.592, 0.135) rel (a, b)
, n == (0.543, 0.094) rel (a, b)
, m == (0.341, - 0.088) rel (a, b)
, l == (0.467, 0.061) rel (a, b)
, k == (0.556, 0.165) rel (a, b)
, j == (0.629, 0.258) rel (a, b)
, i == (0.556, 0.188) rel (a, b)
, h == (0.291, - 0.06) rel (a, b)
, g == (0.366, 0.023) rel (a, b)
, f == (0.487, 0.187) rel (a, b)
, e == (0.45, 0.187) rel (a, b)
, d == (0.213, - 0.038) rel (a, b)
, c == (0.175, - 0.045) rel (a, b)
| T
-> draw (p0020, p0019, x, s)
; draw (s, y, t, r)
; draw (p0018, z, u, q)
; draw (q, w, v, p)
; draw (p, j, i, o)
; draw (o, k, f, e)
; draw (n, l, g, m)
; draw (m, h, d, c)
; draw (p0020, c)
; draw (p0018, e) fi
Pawn(a, b)
: if c == (1., 1.) rel (a, b)
| (b, a) cong (c, b) and ver (b, c) and hor (a, b)
-> Pawn2(a, c) fi
Rook(a, b)
: if z == (0.848, 0.208) rel (a, b)
, y == (0.848, 0.121) rel (a, b)
, x == (0.835, 0.824) rel (a, b)
, w == (0.835, 0.879) rel (a, b)
, v == (0.808, 0.243) rel (a, b)
, u == (0.808, 0.208) rel (a, b)
, t == (0.74, 0.298) rel (a, b)
, s == (0.74, 0.734) rel (a, b)
, r == (0.686, 0.879) rel (a, b)
, q == (0.686, 0.798) rel (a, b)
, p == (0.574, 0.879) rel (a, b)
, o == (0.574, 0.798) rel (a, b)
, n == (0.426, 0.879) rel (a, b)
, m == (0.426, 0.798) rel (a, b)
, l == (0.314, 0.798) rel (a, b)
, k == (0.314, 0.879) rel (a, b)
, j == (0.266, 0.734) rel (a, b)
, i == (0.266, 0.298) rel (a, b)
, h == (0.192, 0.208) rel (a, b)
, g == (0.192, 0.243) rel (a, b)
, f == (0.165, 0.879) rel (a, b)
, e == (0.165, 0.824) rel (a, b)
, d == (0.152, 0.208) rel (a, b)
, c == (0.152, 0.121) rel (a, b)
| T
-> draw (t, i)
; draw (c, y)
; draw (j, i)
; draw (e, j)
; draw (f, e)
; draw (l, k)
; draw (m, l)
; draw (n, m)
; draw (o, p)
; draw (q, o)
; draw (r, q)
; draw (w, r)
; draw (x, w)
; draw (s, x)
; draw (t, s)
; draw (s, j)
; draw (g, i)
; draw (h, g)
; draw (d, h)
; draw (c, d)
; draw (v, t)
; draw (u, v)
; draw (z, u)
; draw (y, z)
; draw (k, f)
; draw (p, n) fi
Queen(a, b)
: if p0018 == (1.3, 0.911) rel (a, b)
, p0017 == (1.285, 0.853) rel (a, b)
, p0016 == (1.258, 0.824) rel (a, b)
, p0015 == (1.06, 0.378) rel (a, b)
, p0014 == (1.021, 0.289) rel (a, b)
, p0013 == (1.014, 0.19) rel (a, b)
, p0012 == (1.007, 0.104) rel (a, b)
, p0011 == (0.943, 0.488) rel (a, b)
, p0010 == (0.88, 0.157) rel (a, b)
, p0009 == (0.829, 1.324) rel (a, b)
, p0008 == (0.826, 0.598) rel (a, b)
, p0007 == (0.795, 1.276) rel (a, b)
, p0006 == (0.786, 1.237) rel (a, b)
, p0005 == (0.752, 0.448) rel (a, b)
, p0004 == (0.68, 0.144) rel (a, b)
, z == (0.68, - 0.144) rel (a, b)
, y == (0.653, 0.634) rel (a, b)
, x == (0.632, 0.249) rel (a, b)
, w == (0.5, 0.291) rel (a, b)
, v == (0.501, 0.204) rel (a, b)
, u == (0.479, 0.67) rel (a, b)
, t == (0.37, 0.246) rel (a, b)
, s == (0.32, 0.144) rel (a, b)
, r == (0.32, - 0.144) rel (a, b)
, q == (0.305, 0.634) rel (a, b)
, p == (0.206, 0.448) rel (a, b)
, o == (0.172, 1.237) rel (a, b)
, n == (0.163, 1.276) rel (a, b)
, m == (0.161, 1.335) rel (a, b)
, l == (0.131, 0.598) rel (a, b)
, k == (0.096, 0.172) rel (a, b)
, j == (0.014, 0.488) rel (a, b)
, i == (- 0.022, 0.102) rel (a, b)
, h == (- 0.041, 0.187) rel (a, b)
, g == (- 0.063, 0.289) rel (a, b)
, f == (- 0.103, 0.378) rel (a, b)
, e == (- 0.301, 0.824) rel (a, b)
, d == (- 0.309, 0.909) rel (a, b)
, c == (- 0.328, 0.853) rel (a, b)
| T
-> Circle(c, d)
; Circle(n, m)
; Circle(p0007, p0009)
; Circle(p0017, p0018)
; draw (g, p, p0005, p0014)
; draw (a, s, p0004, b)
; draw (a, r, z, b)
; draw (e, g)
; draw (l, e)
; draw (o, l)
; draw (u, o)
; draw (p0006, u)
; draw (p0008, p0006)
; draw (p0016, p0008)
; draw (p0014, p0016)
; draw (p0014, b)
; draw (g, a)
; draw (k, h)
; draw (i, k)
; draw (p0010, p0013)
; draw (p0012, p0010)
; draw (w, t)
; draw (x, w)
; draw (v, x)
; draw (t, v) fi