Commit "Bug" Arthur Boivert

This commit is contained in:
Paul-Corbalan 2020-04-03 13:50:17 +02:00
parent 2716b3bc1f
commit 4e7032bd12
1 changed files with 46 additions and 41 deletions

View File

@ -157,51 +157,56 @@ def majPotentielsCroissance(pixelsCroissance, potentielsCroissance, nbPart):
potentielsCroissance[c] = potentielsBitmap[pixelsCroissance[c][0]][pixelsCroissance[c][1]] potentielsCroissance[c] = potentielsBitmap[pixelsCroissance[c][0]][pixelsCroissance[c][1]]
def main(pixelsBitmap, pixelsCroissance, potentielsCroissance, nbPart): def main(pixelsBitmap, pixelsCroissance, potentielsCroissance, nbPart):
run = True try:
init() run = True
# graine: début de décharge en haut au milieu init()
graine = [int(N / 2), 1] # graine: début de décharge en haut au milieu
nouv = graine graine = [int(N / 2), 1]
pixelsBitmap[nouv[0]][nouv[1]] = 1 nouv = graine
dessinBitmap[nouv[1]][nouv[0]] = 1
condInitBitmap[nouv[0]][nouv[1]] = -1
potentielsBitmap[nouv[0]][nouv[1]] = 0
nbPart = 1
while run == True:
# elimine les pixelsCroissance qui sont proche de nouv
eliminePixelsPres(nouv, pixelsCroissance, potentielsCroissance)
# mise à jour de la carte des potentiels
maxdelta = 1
# condition d'arrêt à MAXDELTA du max des mises à jour des potentiels relatifs
cf = 0
if MAJPETITE:
while maxdelta > MAXDELTA:
maxdelta = majPotentielsSousBitmapRapide(nouv[0], nouv[1], S)
cf += 1
maxdelta = 1
cs = 0
while maxdelta > MAXDELTA and cs<200:
maxdelta = majPotentielsBitmapRapide()
#print(cs, " : ", maxdelta)
cs += 1
# définition des nouveaux sites de croissance potentiels
croissanceRapide(nouv, pixelsBitmap, pixelsCroissance, potentielsCroissance)
# mise à jour des potentiels des candidats à la croissance
majPotentielsCroissance(pixelsCroissance, potentielsCroissance, nbPart)
res = choix(pixelsCroissance, potentielsCroissance)
nouv = res[0]
# le point choisi est elimine des croissances possibles
pixelsCroissance.pop(res[1])
potentielsCroissance.pop(res[1])
# le point choisi est dessine
pixelsBitmap[nouv[0]][nouv[1]] = 1 pixelsBitmap[nouv[0]][nouv[1]] = 1
dessinBitmap[nouv[1]][nouv[0]] = 1 dessinBitmap[nouv[1]][nouv[0]] = 1
# le point choisi devient une contrainte à potentiel nul
condInitBitmap[nouv[0]][nouv[1]] = -1 condInitBitmap[nouv[0]][nouv[1]] = -1
potentielsBitmap[nouv[0]][nouv[1]] = 0 potentielsBitmap[nouv[0]][nouv[1]] = 0
nbPart += 1 nbPart = 1
if nouv[0] == 0 or nouv[0] == N-1 or nouv[1] == N-2 or nbPart > partMax : while run == True:
run = False # elimine les pixelsCroissance qui sont proche de nouv
eliminePixelsPres(nouv, pixelsCroissance, potentielsCroissance)
# mise à jour de la carte des potentiels
maxdelta = 1
# condition d'arrêt à MAXDELTA du max des mises à jour des potentiels relatifs
cf = 0
if MAJPETITE:
while maxdelta > MAXDELTA:
maxdelta = majPotentielsSousBitmapRapide(nouv[0], nouv[1], S)
cf += 1
maxdelta = 1
cs = 0
while maxdelta > MAXDELTA and cs<200:
maxdelta = majPotentielsBitmapRapide()
#print(cs, " : ", maxdelta)
cs += 1
# définition des nouveaux sites de croissance potentiels
croissanceRapide(nouv, pixelsBitmap, pixelsCroissance, potentielsCroissance)
# mise à jour des potentiels des candidats à la croissance
majPotentielsCroissance(pixelsCroissance, potentielsCroissance, nbPart)
res = choix(pixelsCroissance, potentielsCroissance)
nouv = res[0]
# le point choisi est elimine des croissances possibles
pixelsCroissance.pop(res[1])
potentielsCroissance.pop(res[1])
# le point choisi est dessine
pixelsBitmap[nouv[0]][nouv[1]] = 1
dessinBitmap[nouv[1]][nouv[0]] = 1
# le point choisi devient une contrainte à potentiel nul
condInitBitmap[nouv[0]][nouv[1]] = -1
potentielsBitmap[nouv[0]][nouv[1]] = 0
nbPart += 1
if nouv[0] == 0 or nouv[0] == N-1 or nouv[1] == N-2 or nbPart > partMax :
run = False
print("N=", N, "eta=", eta, "nbpart=", nbPart, "MAXDELTA=", MAXDELTA)
return nbPart
except IndexError:
print("Bug")
print("N=", N, "eta=", eta, "nbpart=", nbPart, "MAXDELTA=", MAXDELTA) print("N=", N, "eta=", eta, "nbpart=", nbPart, "MAXDELTA=", MAXDELTA)
return nbPart return nbPart