Friday, March 4, 2016

Cluster Growth Simulation.

 Using Python with Numpy and Matplotlib
"""
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()

plt.ylim(0,40)
plt.xlim(0,40)
#variabel
n   = 39
x   = 19
y   = 19
a   = np.zeros((n,n))
a0  = np.zeros((n,n))
a0[x,y]  = 1
a[:,:]=a0[:,:]
#print a

#membuat garis/kurva dengan sumbu-x adalah x, sumbu-y adalah y
line, = ax.plot(x, y, 'o')

def animate(i):
    global line
    for i in np.arange(1,n-1):
        for j in np.arange(1,n-1):
            if a0[i,j]==1:
                x   = i + np.random.randint(-1,2)
                y   = j + np.random.randint(-1,2)
                if a[x,y]!=1:
                    a[x,y] = 1
                    line, = ax.plot(x,y,'o')
    a0[:,:] = a[:,:]
    return line,

ani = animation.FuncAnimation(fig, animate, frames=2000, interval=100, blit=False)
ani.save('cluster.mp4',bitrate=1024)
#plt.show()