import math # cos(), sin()
import random # randint()
import pygame
NUMERO=3
DIM =800
RAGGIO=0.45*DIM
raggio=1 # Punto colorato
FRAME1=2 # Numero frame al secondo
FRAME2=500 # Numero punti per ogni frame
PUNTI=[]
angolo=math.pi/2
dAngolo=2*math.pi/NUMERO
XC=DIM/2
YC=DIM/2
for i in range(NUMERO):
x=XC+RAGGIO*math.cos(angolo)
y=YC-RAGGIO*math.sin(angolo)
PUNTI.append((x,y))
angolo +=dAngolo
pygame.init()
screen=pygame.display.set_mode((DIM, DIM))
pygame.display.set_caption("Chaos Game: tappeto rotondo 1/2: " + str(NUMERO))
clock=pygame.time.Clock()
# Disegna i punti di base
for punto in PUNTI:
pygame.draw.circle(screen, (0,0,128), punto, 20)
indice=0
xx,yy = PUNTI[indice]
ANCORA=True
while ANCORA:
# Gestione degli eventi
for ev in pygame.event.get():
if(ev.type == pygame.QUIT):
ANCORA=False
# Tono di verde
PENNA=(0, random.randint(128,255), 0)
# Un certo numero di punti
for i in range(FRAME2):
indice=random.randint(0, NUMERO-1)
x, y=PUNTI[indice]
xx=(xx+x)/2
yy=(yy+y)/2
pygame.draw.circle(screen, PENNA, (xx,yy), raggio)
pygame.display.flip()
clock.tick(FRAME1)
pygame.quit()
Con centro
import math # cos(), sin()
import random # randint()
import pygame
NUMERO=3
DIM =800
RAGGIO=0.45*DIM
raggio=1 # Punto colorato
FRAME1=2 # Numero frame al secondo
FRAME2=500 # Numero punti per ogni frame
PUNTI=[]
angolo=math.pi/2
dAngolo=2*math.pi/NUMERO
XC=DIM/2
YC=DIM/2
PUNTI.append((XC,YC))
for i in range(NUMERO):
x=XC+RAGGIO*math.cos(angolo)
y=YC-RAGGIO*math.sin(angolo)
PUNTI.append((x,y))
angolo +=dAngolo
pygame.init()
screen=pygame.display.set_mode((DIM, DIM))
pygame.display.set_caption("Chaos Game: tappeto rotondo 1/2: " + str(NUMERO)+"+c")
clock=pygame.time.Clock()
# Disegna i punti di base
for punto in PUNTI:
pygame.draw.circle(screen, (0,0,128), punto, 20)
indice=0
xx,yy = PUNTI[indice]
ANCORA=True
while ANCORA:
# Gestione degli eventi
for ev in pygame.event.get():
if(ev.type == pygame.QUIT):
ANCORA=False
# Tono di verde
PENNA=(0, random.randint(128,255), 0)
# Un certo numero di punti
for i in range(FRAME2):
indice=random.randint(0, NUMERO)
x, y=PUNTI[indice]
xx=(xx+x)/2
yy=(yy+y)/2
pygame.draw.circle(screen, PENNA, (xx,yy), raggio)
pygame.display.flip()
clock.tick(FRAME1)
pygame.quit()