x=320 : y=240 : rad=100 : sq=45
hide mouse
sync on : sync rate 0
hiblue = rgb(0,255,255)
loblue = rgb(0,128,255)
create bitmap 1,640,480
 
DO
   sq = wrapvalue(sq+2)
   if sq>90 and sq<270 then ink loblue,0 else ink hiblue,0
 
   set current bitmap 1
   For a = 0 to 359
      min = wrapvalue(0-a) : max = wrapvalue(0+a) : `the two points travel along the opposite curves of the circle
      line x+sin(min)*rad,y+cos(min+sq)*rad,x+sin(max)*rad,y+cos(max+sq)*rad
      line x+sin(min)*rad,y+cos(min+sq)*rad,x+sin(max)*rad+1,y+cos(max+sq)*rad+1 : `fiddle line to fill in any gaps
 
`      line x+sin(a)*rad,y+cos(a+sq)*rad, x+sin(a+1)*rad, y+cos(a+1+sq)*rad
   Next a
   copy bitmap 1,0
   cls
   print sq
   set current bitmap 0
 
   sync
LOOP