import math, sys import matplotlib.pyplot as plt def coordonnees(nmax): # fonction qui calcule les coordonnees # des points qui constituent l'escargot x = [] # Declaration de 2 listes, pour les y = [] # coordonnees x et y des points. angle_total = 0 # Angle entre le premier segment # et le segment actuel for n in range(1, nmax+1): # calul des coordonees x.append(math.cos(angle_total)*math.sqrt(n)) y.append(math.sin(angle_total)*math.sqrt(n)) angle_total += math.atan(1/math.sqrt(n)) return [x, y] # On revoie les 2 listes contenant les coords. def tracer(nmax): # Fonction qui trace l'escargot grace aux # coordonnees dans le fichier pythagore.png co = coordonnees(nmax) # co contient les coordonees : [x, y] for n in range(int(nmax-1)): # Trace a chaque fois 1 triangle plt.plot([0, co[0][n], co[0][n+1]], [0, co[1][n], co[1][n+1]]) size = 8 # Taille du repere plt.axis([-1.31*size, 1.31*size, -1*size, size]) plt.savefig("pythagore.png", dpi=600) # Sauvegarde du fichier # dpi determine la qualite de l'image tracer(int(sys.argv[1])) # Lancer l'algorithme avec le premier # argument donne