Ogni cerchio contiene 2 cerchi più piccoli…
DIM =800 DIM2=DIM/2 GraphicsWindow.Title="Ricorsione" GraphicsWindow.Width =DIM GraphicsWindow.Height=DIM xc=DIM2 yc=DIM2 raggio=0.4*DIM colore=255 Stack.PushValue("dati",xc ) Stack.PushValue("dati",raggio) Stack.PushValue("dati",colore) CERCHIO() '-------------------------------------------------------------------------- Sub CERCHIO colore =Stack.PopValue("dati") raggio =Stack.PopValue("dati") xc =Stack.PopValue("dati") diametro=2*raggio GraphicsWindow.BrushColor=GraphicsWindow.GetColorFromRGB(colore,0,255) GraphicsWindow.FillEllipse(xc-raggio,yc-raggio,diametro,diametro) Program.Delay(50) If raggio > 5 Then raggio1=raggio/2 colore1=colore*0.7 xc1=xc+raggio1 Stack.PushValue("dati",xc1 ) Stack.PushValue("dati",raggio1) Stack.PushValue("dati",colore1) xc1=xc-raggio1 Stack.PushValue("dati",xc1 ) Stack.PushValue("dati",raggio1) Stack.PushValue("dati",colore1) CERCHIO() CERCHIO() EndIf EndSub
Anche yc viene coinvolto nelle chiamate ricorsive