to polyfilltest aa 6 20 300 end to aa :n :size :radius ; :n number of sides of polygon ; :size side length of polygon ; :radius radius of circle white=rgb 1 1 1 cs pu ht setpc 0 local[theta phi p_radius] disls setps [2 2] make "theta 360/:n make "phi (90-:theta/2) make "p_radius :size/(2*cos :phi) pd circle radius pu rt 180-:phi fd :p_radius lt 180-:phi tile 1 ifelse Key? [ ignore readChar print [Stopped.] ] [ print [Finished.] ] end to poly :dir_ local "p pd (repeat :n [fd :size lt :dir_*:theta]) pu setfc ifelse :dir_<0[2][4] ;problem with color value; replace with rgb values? make "p list pos heading lt :dir_*:phi fd :p_radius (fill FILL_SMALL) ; updateGraph setpos first :p seth last :p end to probe? :dir_ local [p c] make "p list pos heading lt :dir_*:phi fd :p_radius make "c (and pixel==white :radius>norm pos) ;problem with color value setpos first :p seth last :p op :c end to tile :dir_ ifelse probe? :dir_ [poly :dir_][stop] repeat :n [ tile -1*:dir_ fd :size lt :dir_*:theta if Key? [stop] ] end