%ffp Title :"circle scribbler" Author :pobelly ctl(1): "inset", range=(0, 512), val=24 ctl(3): "width", range=(1, 512), val=64 ctl(5): "chaos allowance", val=5, range=(0, 63), size=(40, *) ctl(7): "apply value" ctl(21):CHECKBOX, "fill &holes(SLOW)", pos=(180, 100), size=(63, 10) ctl(98):PUSHBUTTON, "&re-seed", pos=(342, 52), size=(40, *), tooltip="get a new batch of random numbers" onCtl(n): //-----------------------------------------------------onCtl(n):----------------------------------------------- { if (n==98) // RE-SEED k7=clock(); return false; } onFilterStart: //-------------------------------------------------onFilterStart:------------------------------------------- { updateProgress(0, 4); // clear progress bar rst(k7); // seed the soil! return false; } forEveryTile: //-------------------------------------------------forEveryTile:-------------------------------------------- { int inset, width, startwidth, endwidth, veer=0; //declare variables //---------------------------------------------- edges: startwidth=((1-ctl(3))/2)/scaleFactor; // inside endwidth=(ctl(3)/2)/scaleFactor; // outside //---------------------------------------- circle (clockwise from three o'clock) --------------------------------- for(d=0; d<1024; d++) { if((veer>ctl(5)) || (rnd(1029, d)>1011 && veer>0)) veer--; else if((veer<-ctl(5)) || (rnd(1029, d)>1011 && veer <0)) veer++; else veer+=rnd(-1, 1); inset=(ctl(1)+veer)/scaleFactor; for(z=0; zstartwidth+1 && width