ColorSample(x, y)
: if a == (0, 0.17) rel (x, y)
, b == (0, 0.5) rel (x, y)
, c == (0, 0.83) rel (x, y)
, d == (0.33, 0) rel (x, y)
, e == (0.33, 0.2) rel (x, y)
, f == (0.33, 0.4) rel (x, y)
, g == (0.33, 0.6) rel (x, y)
, h == (0.33, 0.8) rel (x, y)
, i == (0.33, 1.) rel (x, y)
, j == (0.66, 0) rel (x, y)
, k == (0.66, 0.2) rel (x, y)
, l == (0.66, 0.4) rel (x, y)
, m == (0.66, 0.6) rel (x, y)
, n == (0.66, 0.8) rel (x, y)
, o == (0.66, 1.) rel (x, y)
, p == (1., 0) rel (x, y)
, q == (1., 0.2) rel (x, y)
, r == (1., 0.4) rel (x, y)
, s == (1., 0.6) rel (x, y)
, t == (1., 0.8) rel (x, y)
, u == (1., 1.) rel (x, y)
| T
-> black paint
c1(a)
; white paint
c1(b)
; grey paint
c1(c)
; red paint
c1(d)
; blue paint
c1(e)
; green paint
c1(f)
; yellow paint
c1(g)
; cyan paint
c1(h)
; magenta paint
c1(i)
; darkred paint
c1(j)
; darkblue paint
c1(k)
; darkgreen paint
c1(l)
; darkyellow paint
c1(m)
; darkcyan paint
c1(n)
; darkmagenta paint
c1(o)
; lightred paint
c1(p)
; lightblue paint
c1(q)
; lightgreen paint
c1(r)
; lightyellow paint
c1(s)
; lightcyan paint c1(t); lightmagenta paint c1(u) fi
OrthoBasis(center, u, v)
: if minuss == (- 1, 0) rel (center, v)
, minusx == (- 1, 0) rel (center, u)
, sx == (0, 0) rel (center)
, ws == (0, 0) rel (center)
, w == (0, - 1) rel (center, u)
, vz == (0, 0) rel (center)
, wz == (0, - 1) rel (center, u)
, z == (0, - 1) rel (center, u)
, uypr == (0, 0.5) rel (center)
, ux == (0, 0) rel (u)
, vs == (0, 0) rel (v)
, x == (0, 0) rel (u)
, s == (0, 0) rel (v)
, uy == (0, 0) rel (center)
, sy == (0, 0) rel (v)
, y == (0, 0) rel (v)
| (center, x) para (center, minusx)
and (center, x) cong (center, minusx)
and (center, ux) para (center, x)
and hor (u, ux)
and (center, sx) para (center, minusx)
and hor (s, sx)
and hor (y, center)
and hor (uy, center)
and (u, uy) para (x, center)
and ver (center, uypr)
and (center, uypr) cong (center, uy)
and (uypr, sx) cong (center, y)
and hor (sy, center)
and (sy, s) para (x, center)
and (center, s) para (center, minuss)
and (center, s) cong (center, minuss)
and (y, x) para (sy, ux)
and (y, minusx) para (uy, sx)
and (s, center) para (vs, center)
and (s, center) para (center, ws)
and (wz, w) para (center, minuss)
and (center, minuss) para (v, vz)
and (s, z) para (wz, vs)
and (z, minuss) para (vz, ws)
and (y, center) cong (z, center)
and ver (center, z)
and ver (vs, v)
and ver (center, vz)
and ver (center, wz)
and ver (ws, w)
-> Squaredot(x)
; Squaredot(z)
; Squaredot(y)
; Dots(u, ux)
; Dots(u, uy)
; Dots(sy, s)
; Dots(s, sx)
; Dots(v, vs)
; Dots(v, vz)
; Dots(wz, w)
; Dots(w, ws)
; Platch(v)
; Platch(w)
; Platch(u)
; draw (center, x)
; draw (center, z)
; draw (center, y)
; draw (center, u)
; draw (center, s)
; draw (center, v)
; draw (center, minuss)
; draw (center, minusx)
; draw (center, w) fi
FalsePerspTest(c, u, v)
: if r == (0, 1) rel (c, u)
, minusr == (- 1, 0) rel (c, u)
, q == (- 1, 0) rel (c)
, p == (0, 1) rel (c)
, ur == (0, 0.5) rel (c, u)
, uq == (- 0.5, 0) rel (c)
, m == (0, 1) rel (c, u)
, minusm == (0, - 1) rel (c, u)
, mq == (- 0.5, 0) rel (c)
, mr == (- 0.5, 0) rel (c, u)
, w == (0, 0) rel (c)
, vm == (- 0.5, - 0.5) rel (c)
, vp == (0, 0.5) rel (c)
, wm == (0.5, 0.5) rel (c)
, wp == (0.5, 0.5) rel (c)
| ver (c, p)
and hor (c, q)
and (c, p) cong (c, q)
and (c, r) para (c, minusr)
and (c, r) cong (c, minusr)
and hor (uq, c)
and (ur, c) para (r, c)
and hor (mq, c)
and (mr, c) para (r, c)
and (ur, u) para (c, q)
and (uq, u) para (c, r)
and (ur, mq) para (r, q)
and (uq, mr) para (q, minusr)
and (vm, c) para (m, c)
and ver (vp, c)
and ver (wp, c)
and (m, c) para (wm, c)
and (v, vp) para (m, c)
and ver (v, vm)
and ver (w, wm)
and (w, wp) para (c, m)
and (vm, vp) para (m, p)
and (m, c) para (minusm, c)
and (m, c) cong (minusm, c)
and (wm, wp) para (p, minusm)
-> Blah fi
Blah(Args)
: round ends
stroke (v, v)
; print(" v", v, "TimesRoman", 10, 0)
; stroke (u, u)
; print(" u", u, "TimesRoman", 10, 0)
; stroke (w, w)
; print(" w", w, "TimesRoman", 10, 0)
; red paint
stroke (p, p)
; print(" p", p, "TimesRoman", 10, 0)
; stroke (q, q)
; print(" q", q, "TimesRoman", 10, 0)
; stroke (r, r)
; print(" r", r, "TimesRoman", 10, 0)
; stroke (m, m)
; print(" m", m, "TimesRoman", 10, 0)