I use Conway's model in Python with numpy and matplotlib module.
"""
Cluster
"""
import numpy as np #untuk operasi array
import matplotlib.pyplot as plt #untuk gambar grafik
import matplotlib.animation as animation #untuk menggerakkan grafik
fig, ax = plt.subplots()
n = 19
plt.ylim(0,n)
plt.xlim(0,n)
a = np.zeros((n,n))
a0 = np.zeros((n,n))
#buat nilai awal
for i in np.arange(n):
for j in np.arange(n):
r = np.random.randint(100)
if r<50:
a0[i,j] = 1
line, = ax.plot(i,j,'o')
else:
a0[i,j] = 0
line, = ax.plot(i,j,'wo')
a[:,:]=a0[:,:]
def animate(i):
global line
for i in np.arange(1,n-1):
for j in np.arange(1,n-1):
#hitung tetangga
t = a0[i-1,j-1]+a0[i-1,j]+a0[i-1,j+1]+\
a0[i,j-1]+a0[i,j+1]+\
a0[i+1,j-1]+a0[i+1,j]+a0[i+1,j+1]
#hidup atau mati?
if a0[i,j]==1:
if t<2 or t>3:
a[i,j] = 0
else:
if t==3:
a[i,j] =1
#gambar
if a[i,j]==1:
line, = ax.plot(i,j,'o')
else:
line, = ax.plot(i,j,'wo')
a0[:,:] = a[:,:]
return line,
ani = animation.FuncAnimation(fig, animate, frames=2000, interval=100, blit=False)
#ani.save('cluster.mp4',bitrate=1024)
plt.show()