% Ray tracer article input boxes scale := 1; marksize=4pt; angle_radius=8pt; def draw_mark(expr p, a) = begingroup save t, dm; pair dm; t = arctime a of p; dm = marksize*unitvector direction t of p rotated 90; draw (-.5dm.. .5dm) shifted point t of p; endgroup enddef; def draw_marked(expr p, n) = begingroup save amid; amid = .5*arclength p; for i=-(n-1)/2 upto (n-1)/2: draw_mark(p, amid+.6marksize*i); endfor draw p; endgroup enddef; def mark_angle(expr a, b, c, n) = begingroup save s, p; path p; p = unitvector(a-b){(a-b)rotated 90}..unitvector(c-b); s = .9marksize/length(point 1 of p - point 0 of p); if s