Vai al contenuto

IR – Cerchi

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.