Nugroho's blog.

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




.

Interference

Try to make a simple code

#mentah

from pylab import *

n = 193
t = 0
dy = 1./64.

w = 1./8. #wavelength

L = 1. #distance to screen

d = .001/L #half slit distance, weird it is, but anyway...
y = zeros(n)
S = zeros(n)
A = 1.
f = 1./w # v = 1. ,:)


for i in arange(n):
y[i]= dy*i
l1 = sqrt(pow((y[i]-d),2)+pow(L,2))
l2 = sqrt(pow((y[i]+d),2)+pow(L,2))
print '***'
print l1
print l2
y1 = A*sin(f*l1)
y2 = A*sin(f*l2)
#S[i]= y1+y2
S[i]= pow((y1+y2),2)


plot(y,S)
xlabel('y')
ylabel('V')
title('Interferensi')
grid(True)

show()



.

Python Turtle Assymetrical Branch

Ok, it's my last fractal this month, :D

import turtle
import numpy

#buat pola di sini
#kura-kura menghadap ke atas
turtle.shape("turtle")
turtle.speed(10)
turtle.left(90)


lv = 11
l = 100
dl = 3./4.
sl = 17
sr = 39
bl = 1./2.
br =1./4.

turtle.penup()
turtle.backward(l)
turtle.pendown()
turtle.forward(l)


def maju(l,level):
level += 1
turtle.backward(l*bl)
l = l*dl
turtle.left(sl)
turtle.forward(l)
if level<=lv:
maju(l,level)
#mundur, tengok kanan
turtle.backward(l)
turtle.right(sl)
turtle.forward(l*bl/dl)

turtle.backward(l*br/dl)
turtle.right(sr)
turtle.forward(l)
if level<lv:
maju(l,level)


turtle.backward(l)
turtle.left(sr)
turtle.forward(l*br/dl)

level -= 1


maju(l,2)

#agar gambar tak langsung hilang
turtle.exitonclick()











.



Thursday, April 7, 2016

BBM Crash After Update?

 Relax.

 Just remove the app, and re-download it.

 Solved, :) 


 At least at my iPhone 5 with iOS 9.3

Wednesday, April 6, 2016

Pohon Asimetris, :)

Modifikasi dari kode sebelumnya

import turtle
import numpy

#buat pola di sini
#kura-kura menghadap ke atas
turtle.shape("turtle")
turtle.left(90)


lv  = 11
l   = 100
sl  = 47
sr  = 17

turtle.penup()
turtle.backward(l)
turtle.pendown()
turtle.forward(l)


def maju(l,level):
    l           = 3./4.*l
    #turtle.backward(l)
    turtle.left(sl)
    turtle.forward(l)
    level       += 1
    if level<lv:
        maju(l,level)
    
    turtle.backward(l)
    turtle.right(sl)
    turtle.right(sr)
    turtle.forward(l)
    if level    <lv:
        maju(l,level)
    turtle.backward(l)
    turtle.left(sr)
    level       -= 1

maju(l,2)


#agar gambar tak langsung hilang
turtle.exitonclick()



 


.


Adding some level

 From previous code






Tuesday, April 5, 2016

Fractal Tree using Python with Turtle Module

Here is "minus one" nearly symmetrical fractal tree
import turtle
import numpy

#buat pola di sini
#kura-kura menghadap ke atas
turtle.shape("turtle")
turtle.left(90)


lv = 7
l = 100
s = 17

turtle.penup()
turtle.backward(l)
turtle.pendown()
turtle.forward(l)


def maju(l,level):
l = 3./4.*l
turtle.left(s)
turtle.forward(l)
if level<lv:
level +=1
maju(l,level)

turtle.backward(l)
turtle.right(2*s)
turtle.forward(l)
if level<lv:
maju(l,level)
turtle.backward(l)
turtle.left(s)
level -=1

maju(l,2)


#agar gambar tak langsung hilang
turtle.exitonclick()






.



if we want symmetrical result, just move 
level +=1 
syntax
to the place before first if


323f (5) amp (1) android (12) apple (7) arduino (18) art (1) assembler (21) astina (4) ATTiny (23) blackberry (4) camera (3) canon (2) cerita (2) computer (106) crazyness (11) debian (1) delphi (39) diary (286) flash (8) fortran (6) freebsd (6) google apps script (8) guitar (2) HTML5 (10) IFTTT (7) Instagram (7) internet (12) iOS (5) iPad (6) iPhone (5) java (1) javascript (1) keynote (2) LaTeX (6) lazarus (1) linux (29) lion (15) mac (28) macbook air (8) macbook pro (3) macOS (1) Math (3) mathematica (1) maverick (6) mazda (4) microcontroler (35) mountain lion (2) music (37) netbook (1) nugnux (6) os x (36) php (1) Physicist (29) Picture (3) programming (189) Python (109) S2 (13) software (7) Soliloquy (125) Ubuntu (5) unix (4) Video (8) wayang (3) yosemite (3)