I cerchi successivi si sviluppano verso l’interno
import pygame
TITOLO ="Immagine ricorsiva: cerchi 1"
DIM =800
raggio =0.4*DIM
FATTORE=0.8
XC =DIM/2
YC =DIM/2
red =255
green =255
blue =127
def cerchio(r,g,b, x,y, ra):
pygame.draw.circle(screen, (r,g,b), (x,y), ra)
if(ra > 2):
r2 =0.8*r # più scuro
g2 =0.8*g
b2 =0.8*b
ra2=FATTORE*ra # più piccolo
cerchio(r2,g2,b2, x,y, ra2)
pygame.init()
screen=pygame.display.set_mode((DIM, DIM))
pygame.display.set_caption(TITOLO)
cerchio(red,green,blue, XC,YC, raggio)
pygame.display.flip()
input("Premi INVIO per continuare...")
pygame.quit()
Passa da una a due chiamate e il fattore di scala da 80% a 50%
import pygame
TITOLO ="Immagine ricorsiva: cerchi 2"
DIM =800
raggio =0.4*DIM
FATTORE=0.5
XC =DIM/2
YC =DIM/2
red =255
green =255
blue =127
def cerchio(r,g,b, x,y, ra):
pygame.draw.circle(screen, (r,g,b), (x,y), ra)
if(ra > 2):
r2 =0.8*r # più scuro
g2 =0.8*g
b2 =0.8*b
ra2=FATTORE*ra # più piccolo
cerchio(r2,g2,b2, x-ra2,y, ra2)
cerchio(r2,g2,b2, x+ra2,y, ra2)
pygame.init()
screen=pygame.display.set_mode((DIM, DIM))
pygame.display.set_caption(TITOLO)
cerchio(red,green,blue, XC,YC, raggio)
pygame.display.flip()
input("Premi INVIO per continuare...")
pygame.quit()
I centri dei cerchi si muovono verso il centro
import pygame
TITOLO ="Immagine ricorsiva: cerchi 2"
DIM =800
raggio =0.4*DIM
FATTORE1=0.50
FATTORE2=0.80
XC =DIM/2
YC =DIM/2
red =255
green =255
blue =127
def cerchio1(r,g,b, x,y, ra):
pygame.draw.circle(screen, (r,g,b), (x,y), ra)
if(ra > 2):
r2 =0.8*r
g2 =0.8*g
b2 =0.8*b
ra2=FATTORE2*ra
cerchio1(r2,g2,b2, XC-ra2,y, ra2)
def cerchio2(r,g,b, x,y, ra):
pygame.draw.circle(screen, (r,g,b), (x,y), ra)
if(ra > 2):
r2 =0.8*r
g2 =0.8*g
b2 =0.8*b
ra2=FATTORE2*ra
cerchio2(r2,g2,b2, XC+ra2,y, ra2)
pygame.init()
screen=pygame.display.set_mode((DIM, DIM))
pygame.display.set_caption(TITOLO)
pygame.draw.circle(screen, (red,green,blue), (XC,YC), raggio)
r2 =0.8*red
g2 =0.8*green
b2 =0.8*blue
ra2=FATTORE1*raggio
cerchio1(r2,g2,b2, XC-ra2,YC, ra2)
cerchio2(r2,g2,b2, XC+ra2,YC, ra2)
pygame.display.flip()
input("Premi INVIO per continuare...")
pygame.quit()