Advertisement
Guest User

FractaleUp

a guest
Nov 18th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.05 KB | None | 0 0
  1. #import du module sous le nom 'sld'
  2. import squareListDraw as sld
  3.  
  4. def AfficherCarreExo1(x, y, long, couleur) :
  5.     sld.drawSquareList([(x, y, long, couleur)], 500, 500, "exo1_1.html")
  6.  
  7. def AfficherCarreExo2() :
  8.     listCarres = [(0, 0, 100, "red"),(800-50, 0, 50, "green"),(0, 600-80, 80, "blue"), (800-25, 600-25, 25, "black")]
  9.     sld.drawSquareList(listCarres, 800, 600, "exo1_2.html")
  10.  
  11.  
  12. def carresLigne(y, cote, width, col = ("green", "red")) :
  13.     nb_carre_ligne = int(width/cote)
  14.     list = []
  15.  
  16.     for i in range(0,nb_carre_ligne):
  17.         longEnCours = i*cote
  18.         couleur = ""
  19.         if i%2 == 0:
  20.             couleur = col[0]
  21.         else:
  22.             couleur = col[1]
  23.         list.append((longEnCours, y, cote,couleur))
  24.  
  25.     return list
  26.  
  27. def damier(nombreLigne, cote, col = ("green", "red")) :
  28.     width = nombreLigne*cote
  29.     list = []
  30.     for i in range(0, nombreLigne) :
  31.         couleur = col;
  32.         if i%2 != 0:
  33.             couleur = (col[1], col[0])
  34.         list += carresLigne(i*cote, cote, width, couleur)
  35.  
  36.     sld.drawSquareList(list, width, width, "damier.html")
  37.  
  38.  
  39. # un carre est passe en parametre
  40. def carresCoins(carre):
  41.     # coord. x du coin haut-gauche de 'carre'
  42.     carre_x_HG = carre[0]
  43.     # coord. y du coin haut-gauche de 'carre'
  44.     carre_y_HG = carre[1]
  45.     # longueur des cotes de 'carre'
  46.     carre_cote = carre[2]
  47.     # couleur de 'carre'
  48.     carre_col = carre[3]
  49.     #couleur locale pour le traitement
  50.     couleur_locale = ""
  51.  
  52.     if carre_col == "red" :
  53.         couleur_locale = "green"
  54.     elif carre_col == "green" :
  55.         couleur_locale = "blue"
  56.     else :
  57.         couleur_locale = "red"
  58.  
  59.     # on cree 4 carre qui sont chacuns 2 fois plus petit
  60.     # et sont positionnes aux 4 coins du carre donne en parametre
  61.     c1 = (carre_x_HG - carre_cote / 2, carre_y_HG - carre_cote / 2, carre_cote / 2, couleur_locale)
  62.     c2 = (carre_x_HG + carre_cote, carre_y_HG - carre_cote / 2, carre_cote / 2, couleur_locale)
  63.     c3 = (carre_x_HG + carre_cote, carre_y_HG + carre_cote, carre_cote / 2, couleur_locale)
  64.     c4 = (carre_x_HG - carre_cote / 2, carre_y_HG + carre_cote, carre_cote / 2, couleur_locale)
  65.  
  66.     # on renvoie la liste contenant les 4 nouveaux carres
  67.     return [c1, c2, c3, c4]
  68.  
  69. def fractale(n) :
  70.     c1 = (125, 125, 250, "red")
  71.     l1 = [c1]
  72.     ncl = 0
  73.     for i in range(1, n+1) :
  74.         l2 = []
  75.         lg_l = len(l1)
  76.         for j in range(ncl, lg_l) :
  77.             c_tmp = l1[j]
  78.             l_r = carresCoins(c_tmp)
  79.             l2 += l_r
  80.             ncl += 1
  81.         l1 += l2
  82.     sld.drawSquareList(l1, 500, 500, "fractales.html")
  83.  
  84. #------------------Exo1_1------------------
  85. #longueurCarre = int(input("Entrez une longueur pour le carré : "))
  86. #couleurCarre = str(input("Entrez une couleur pour le carré : "))
  87. #AfficherCarreExo1(1,1, longueurCarre, couleurCarre)
  88.  
  89. #------------------Exo1_2------------------
  90. #AfficherCarreExo2()
  91.  
  92.  
  93. #-----------------Damier--------------
  94. #damier(15, 50, ("blue", "black"))
  95.  
  96. #----------------Fractale-------------
  97. fractale(6)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement