Animation des changements d'état d'une matrice

benjilili Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
benjilili Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et tous.

Je suis débutant en python et essaye de réaliser, dans le cadre d'un projet de L2, un programme de simulation de type "modèle d'Ising".

J'avance à taton, mais sans trop de difficultés depuis le début. (Beaucoup de bidouillage vu mon niveau, mais l'ensemble fonctionne plutôt bien)

Cependant depuis hier je bloque sur la façon dont je peux animer les changements d'état de mon système.

J'ai donc un programme qui me génère une liste contenant les différentes "photos" de ma matrice après chaque changement d'état.
Jusqu'ici tout fonctionne.
Ma liste que j'ai nommé "ListeImages" contient bien un nombre N de matrices carrées qui sont les "photos" du système aux différentes étapes.

Là où ça coince, c'est lorsque j'essaye d'animer tout cela avec FuncAnimation de la bibliothèque matplotlib.animation.

Dans le morceau de code ci-dessous la fonction genData() me pose problème (imaginons que i soit un élément de la liste, je sais que ce que j'écris ici ne fonctionne pas, c'est pour l'exemple)

def genData():
    return ListeImages[i]

def updateData(frameNumber):
    mat.set_data(genData())
    return

fig, ax = plt.subplots()
mat = ax.matshow(genData())
ani = animation.FuncAnimation(fig, updateData, interval=100)
ani.save('systeme.mp4')



En remplaçant "ListeImages" par une génération aléatoire de matrice comme par exemple :


def genData():
    return [np.random.rand(4) for _ in range(4)]



Cela fonctionne parfaitement

En fait, pour etre précis, je ne sais pas comment faire "cracher" à ma fonction genData les différentes images de ma matrice dans l'ordre...
Comme par exemple je pourrais le faire avec une simple boucle de type

N = len(ListeImages)
for a in range(N)
     b = ListeImages[N]


et en interrogeant b

... j'ignore si je suis clair, mais j'essaie... ;)

Merci d'avance pour votre aide !
A voir également:

1 réponse

benjilili Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai finalement trouvé la solution (avec un peu d'aide j'avoue ;) )

Merci quand même
0