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