Я работал над простым клеточным автоматом и у меня работают основные функции, но я не знаю, как их совместить с FuncAnimate из matplotlib. У меня есть функция с именем evolve, как показано ниже:
def evolve(matrix, ticks):
return list of matrixs
, которая будет выводить указанное число (тики) массивов NxN, соответствующих кадрам в анимации. Матрица ввода / вывода будет представлять собой двумерные массивы с одним или нулями (np.int), где 1 должны быть черными квадратами, а 0 - белым. Я думаю, что мне нужно преобразовать данные в сетку, а затем поместить их в функции анимации. Нужно ли вызывать мою функцию evolve внутри функции анимации или я должен создать кадры перед использованием evolve, затем сохранить их и попытаться анимировать как один блок данных?
Пока что моя попытка сильфонная, но я Я совершенно не знаю, как продолжать это делать.
def animateArtist(frames,inputInterval, matrix):
fig = plt.figure()
#List of frames
ims = test2
for i in range(frames):
im = plt.imshow(matrix, animated=True)
ims.append([im])
plt.close()
#create the animation
anim=animation.ArtistAnimation(fig, ims, interval=inputInterval,blit=True)
display(anim)
pass
animateArtist(100,10, world1)
test2 - это результат эволюции fuction, поэтому определенное количество массивов NxN, содержащих 1s и 0s