Pouknouki

Chèvre de merde

Mar 10th, 2016
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.98 KB | None | 0 0
  1. import random as rnd
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4.  
  5. def u(n):
  6.     L = [0]
  7.     for i in range(0, n):
  8.         L.append(L[len(L) - 1] + rnd.choice([1/2, -1/2]))
  9.     return [L[2*p] for p in range(0, len(L) // 2)]
  10.    
  11. # n = 1000000
  12. # plt.plot([x for x in range(0, n//2)], u(n))
  13.  
  14. # PARTIE IV
  15.  
  16. def integrale(points, f, a, b):
  17.     valeurs = []
  18.     integrales = []
  19.     somme = 0
  20.     for i in range(0, points):
  21.         valeurs.append(f(rnd.uniform(a, b)))
  22.         integrales.append(sum(valeurs) / points)
  23.     for valeur in valeurs:
  24.         somme += valeur
  25.     plt.plot([x for x in range(0, points)], integrales)
  26.     return somme / points
  27.    
  28. # print(integrale(99999, lambda x:1/(1+100*(x-2)*(x-2)),1,3))
  29.  
  30. # PARTIE V
  31.  
  32. def creerCarre(n, x):
  33.     xs, ys = [], []
  34.     for i in range(0, n):
  35.         xs.append(rnd.uniform(-x/2, x/2))
  36.         ys.append(rnd.uniform(-x/2, x/2))
  37.     return xs, ys
  38.    
  39. def chevre(R, brins, xO, yO, pas):
  40.     brins = genererBrins(R, brins)
  41.     LPossibles = genererL(R, pas)
  42.     brinsManges, brinsPasManges = [0 for i in range(101)], [0 for i in range(101)]
  43.     i = 0
  44.     L = 0
  45.     while L < R:
  46.         for brin in brins:
  47.             if (np.sqrt(xO-brin[0]*np.cos(brin[1])**2+(yO-brin[0]*np.sin(brin[1]))) <= L):
  48.                 brinsManges[i] += 1
  49.             else:
  50.                 brinsPasManges[i] += 1
  51.         print(L)
  52.         i += 1
  53.         L += pas
  54.     return brinsManges, brinsPasManges
  55.    
  56. def genererL(R, pas):
  57.     renvoye = [0]
  58.     for i in range(1, int(R / pas)):
  59.         renvoye.append(renvoye[len(renvoye) - 1] + pas)
  60.     return renvoye
  61.  
  62. def genererBrins(R, brins):
  63.     brins = creerCarre(brins*2, R)
  64.     X = []
  65.     Y = []
  66.     bonBrins = []
  67.     for i in range(len(brins[0])):
  68.         if ((brins[0][i])**2 + (brins[1][i])**2 <= R):
  69.             bonBrins.append([brins[0][i], brins[1][i]])
  70.             X.append(brins[0][i])
  71.             Y.append(brins[1][i])
  72.     return bonBrins
  73.  
  74. print(chevre(10, 500, 10, 0, 0.1))
Advertisement
Add Comment
Please, Sign In to add comment