Code :
from random import*
import time
#JB Etienne 20 janvier 2025
def centregravite(A,B,C,D):
return Point((A.x+B.x+C.x+D.x)/4,(A.y+B.y+C.y+D.y)/4,is_visible=False)
# image du point M par l'homothétie de centre O et de rapport k:
def image(M,O,k):
return Point(k*(M.x-O.x)+O.x,k*(M.y-O.y)+O.y,is_visible=False)
# On génère une grille de points que l'on stocke dans une liste de listes M
def dessin(dim,cx,cy):
M=[]
for y in range(0,dim,1):
L=[]
for x in range(0,dim,1):
P=Point(x+uniform(-cx,cx),y+uniform(-cy,cy),is_visible=False)
L.append(P)
M.append(L)
for j in range(dim-1):
for i in range(dim-1):
G=centregravite(M[j][i],M[j][i+1],M[j+1][i+1],M[j+1][i])
for k in range(1,5):
coef = k/5
p=Polygon([image(M[j][i],G,coef),image(M[j][i+1],G,coef)
,image(M[j+1][i+1],G,coef),image(M[j+1][i],G,coef)],color="red")
time.sleep(0.005)
#return M
# Exécution :
dessin(5,0.1,0.1)