Nugroho's blog.

## Thursday, April 14, 2016

### Wave Simulation Using Visual Python.

I used previous code (with matplotlib animation).

Removed the matplotlib part, swap it with vpython, :)

`"""Gelombang"""import numpy as np                          #untuk operasi arrayfrom visual import *#variabeln   = 39x   = np.arange(0., 1.,1./n )   #array dari 0 s.d 1 berjarak 1/ny   = np.zeros(n)               #array sejumlah n isinya 0y1  = np.zeros(n)               # y1 : array [0..n] of realy2  = np.zeros(n)y1  = np.exp(-1*np.power(10*x-3,2))y2  = np.exp(-1*np.power(10*x-3,2))r2  = 1./512   display(center=(.5,0,0),background=(1,1,1))#kotakdindingKiri   = box (pos=(0.,0,0), length=.01, height=1, width=1, color=color.green)dindingKanan   = box (pos=(1.,0,0), length=.01, height=1, width=1, color=color.blue)bola    = []for i in range(n):    ball            = sphere (pos=(x[i],y2[i],0), radius=.01, color=color.red)    bola.append(ball)#nilai awal fungsi gaussian#print y2def proses():    #hitung nilai baru    for i in np.arange(1,n-1):        y[i]    =   2*(1-r2)*y1[i]-y2[i]+r2*(y1[i+1]+y1[i-1])    #geser    y2[:]   =   y1[:]    y1[:]   =   y[:]    #print y2    return y2while 1:    rate(100)    proses()    for i in np.arange(n):        bola[i].y   = y2[i]`
.

## Wednesday, April 13, 2016

### Hello (Again) Visual Python, :D .

Menyapa kembali mainan lama, :)

`from visual import *floor   = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)bola    = [] n   =   2for i in range(n):    ball            = sphere (pos=(0,4,0), radius=1, color=color.red)    ball.v          = vector(0,-1,0)    bola.append(ball)dt = 0.01bola[1].pos=(1,1,1)while 1:    rate (100)    bola[0].pos = bola[0].pos + bola[0].v*dt    if bola[0].y < bola[0].radius:        bola[0].v.y = abs(bola[0].v.y)    else:        bola[0].v.y = bola[0].v.y - 9.8*dt`
.

### Lorenz Attractor 3D Scatter Plot using Python with Matplotlib

After failed with regular plot() syntax, I have luck with the scatter() one, :)

`"""Cluster"""import numpy as np                          #untuk operasi arrayimport matplotlib.pyplot as plt             #untuk gambar grafikfrom mpl_toolkits.mplot3d import Axes3Dimport matplotlib.animation as animation    #untuk menggerakkan grafikfrom itertools import cyclerandColor = cycle('bgrcmk').nextrandMarker= cycle('.,ov^<>12348sp*hH+xDd|_').next#fig, ax = plt.subplots()fig = plt.figure()ax  = fig.add_subplot(111,projection='3d')x   = 1.y   = 1.z   = 1.ax.scatter(x, y, z )def animate(i):    global x,y,z,n        dt  = 1./64.    s   = 10.    b   = 8./3.    r   = 28                xdot    = s * (y-x)    ydot    = x*r -x*z -y    zdot    = x*y -b*z    x       = x+xdot*dt    y       = y+ydot*dt    z       = z+zdot*dt    ax.scatter(x,y,z, c=randColor(), marker=randMarker())ani = animation.FuncAnimation(fig, animate, frames=2000, interval=10, blit=False)#ani.save('LorenzAtrractor3D.mp4',bitrate=1024)plt.show()`
.

## Tuesday, April 12, 2016

### Lorenz Attractor in Python with Matplotlib.

Using three mapping.

`import numpy as np                          #untuk operasi arrayimport matplotlib.pyplot as plt             #untuk gambar grafikimport matplotlib.animation as animation    #untuk menggerakkan grafikfig, (ax, ay, az) = plt.subplots(3,sharex=True)x   = 1.y   = 1.z   = 1.#plt.ylim(-43,43)#plt.xlim(-43,43)#membuat garis/kurva dengan sumbu-x adalah x, sumbu-y adalah yline, = ax.plot(x, y, 'o' )line, = ay.plot(x, z, 'o' )line, = az.plot(y, z, 'o' )def animate(i):    global x,y,z            dt  = 1./64.    s   = 10.    b   = 8./3.    r   = 28        xdot    = s * (y-x)    ydot    = x*r -x*z -y    zdot    = x*y -b*z    x       = x+xdot*dt    y       = y+ydot*dt    z       = z+zdot*dt    plt.figure(1)    line, = ax.plot(x, y, 'o' )    line, = ay.plot(x, z, 'o' )    line, = az.plot(y, z, 'o' )    return line,ani = animation.FuncAnimation(fig, animate, frames=2000, interval=100, blit=False)#ani.save('Lorenz.mp4',bitrate=1024)plt.show()`
.

### Inner beauty

Kinanthi: Ada apa to Meg, kok nggremeng sendiri?

Megatruh: Itu lo Kin, cewek ter-hot di kelas kita

K: Makasih

M: Bukan kamu!

K: Oh. Ya sudah, teruskan ngedumelnya.

M: Dasar...

K: Memang dia kenapa?

M: Kayaknya dia gonta-ganti pakaian baru seminggu sekali.

K: Lha ya biar to.

M: Iya sih. Tapi sepatu dan tas dia juga banyak. Warnanya disesuaikan dengan baju yang dia kenakan.

K: Tumben kamu perhatian?

M: Jam tangannya juga gonta-ganti sewarna baju

K: Kamu naksir dia?

M: Eh, apa? Oh, ndak kok

K: Kubilang  ke dia ya?

M: Walah, nggak, awas...

K: Hihihi, lagian pasti ditolak mentah-mentah

M: Dasar

K: Dia cantik ya?

M: Tapi bukan tipeku

K: Jangan bilang kalo tipe cewek kesukaanmu itu kayak aku

M: Lha memang iya

K: Gak mau.

M: Eh?

K: Oh, kupikir kamu nembak aku

M: Jiah..., gak harus pacaran to? Lha kalo tiap ketemu cewek tipe kesukaanku trus kutembak lak jadi gawat.

K: Hihihi. Memang aku kenapa? Apa beda sama dia.

M: Natural

K: Itu pujian? Atau kata halus dari jarang pake bedak?

M: Huh, sadar diri ternyata. Yup dua-duanya.

K: Memang kenapa dengan bedak?

M: Ya ndakpapa, asal gak kelewatan

K: Kelewatan gimana?

M: Lihat saja dia tuh. Bedak super tebal.

K: Oh, lha kalau tebal kenapa? Kan jadi bagus tuh

M: Kalo bagus, kenapa kamu jarang pake? Malah kayak gak pernah, soalnya pas pake bedak pun super tipis.

K: Gak enak, gak nyaman

M: Tuh kan

K: Tapi kalo bagi dia nyaman kan gakpapa

M: Memang gakpapa. Tapi itu yang bikin dia menjadi kategori bukan tipeku

K: Eh?

M: Warna aslinya gak kelihatan

K: Hm, baru kepikiran. Aku juga tidak tahu dia kalo tanpa makeup gimana

M: Kan? Kan?

K: Hmm

M: Kalo kamu kan sudah ketahuan kayak gimana, hehehe

K: Dasar.

M: Jadi gak perlu kaget misal aku ke tempatmu dan lihat kamu bangun tidur tanpa makeup.

K: Hihihi, jadi ingat Si Gendhis kemarin yang ngamuk-ngamuk di minimarket ke mbak cantik kasir karena diambilkan bedak "sewarna dengan warna kulit dia"

M: Lah?

K: Dia kan berjuang habis-habisan memutihkan kulitnya to Meg. Eh lha lok di-skak sama kasir, hahaha.

M: Apa salahnya dengan kulit coklat?

K: Duh, kamu itu Meg, gak peka. Banyak cewek yang terobsesi kulit putih.

M: Lha tapi kan kalo pake bedak putih gitu, kan kadang leher gelapnya masih kelihatan

K: Woi, jangan ngomong gitu di depan Gendhis ya, please.

M: Kenapa?

K: Gakpapa sih? Paling-paling kamu dilempar sepatu hak tinggi runcingnya.

M: Segitu sensitifnya

K: Kalo menyangkut penampilan, itu bagai hidup dan mati bagai dia.

M: Bah

K: Dulu gak ingat to? Dia bolos kuliah gara-gara lotionnya habis. Gak pede katanya kalo berangkat kuliah tanpa make up full power

M: Gak kayak kamu yang berangkat tanpa mandi pun santai saja

K: Hehehe.

M: Gak kasihan sama sebelahmu?

K: Kan seringnya kamu to? Gak.

M: Dasar.

K: Lebih baik teman yang pingsan gara-gara aku gak mandi daripada mati karena gak pede tanpa make up.

M: ...

K: Yeah. Kecantikan dari dalam selalu nomor satu bagiku.

M: Lha kamu kan sudah putih dari sononya Kin.

K: Tapi aku gak keberatan tuk gelap.

M: Itu yang membedakan kamu sama mereka.

K: Kamu mau bilang aku cewek gak normal?

M: Iya, eh, bukan, eh, itu maksudku kamu gak sibuk dengan payung atau sisir atau cermin kecil.

K: Oh

M: Sebel aku kalo dengar atau baca posting tentang inner beauty. Sementara sehari-harinya kalo pas bicara malah sibuk mengecek rambut atau wajah tiap beberapa detik sekali. Bukannya semua itu outer?

K:...

M: Lha kalo mengagung-agungkan kecantikan dari dalam, ngapain beli baju mahal, seminggu sekali gonta ganti tema untuk menunjukkan inner beauty

K: Kalo dia mampu kan gakpapa to Meg

M: Apapun pakaianmu kalo aslinya cantik ya cantik.

K: Makasih

Meg: Gak akan ada pujian "wah kamu cantik kalo pake baju itu". Secara tersirat kan harus pake baju tertentu biar cantik, baku lain bikin dia jelek

K: Iya juga sih

Meg: Cukup "wah kamu cantik"

Kin: Wow, aku tersanjung

Meg: (ambil kesempatan)...dan aku lapar

Kin: Yuk kita makan di Mc Dayat

Meg: kamu memang top Kin

****
Di Mc D, habis makan

Kin: (di kasir) sst..., mak Dayat, nulis bon dulu atas nama Megatruh ya, trims.

Meg: (asyik menandaskan sisa kopi) Sudah dibayar Kin?

Kin: Yuk, jalan lagi...

## 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 arrayimport matplotlib.pyplot as plt             #untuk gambar grafikimport matplotlib.animation as animation    #untuk menggerakkan grafikfig, ax = plt.subplots()n   = 19plt.ylim(0,n)plt.xlim(0,n)a   = np.zeros((n,n))a0  = np.zeros((n,n))#buat nilai awalfor 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

`#mentahfrom pylab import *n   = 193t   = 0dy  = 1./64.w   = 1./8.         #wavelengthL   = 1.            #distance to screend   = .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()`
.

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