Monday, April 11, 2016

Game of Life.


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()




.