Thursday, April 28, 2016

Alright, Now Do It in Python, with style, :)


Python version of this flash action script of electron under Lorentz force, :)

from visual import *
from random import uniform

display(center=(0,0,0),background=(1,1,1), autoscale=False,        
        width=600, height=600,  
        #forward=(-0.4,-0.3,-1)
        ) 

distant_light(direction=(1,1,1), color=color.red)


l       = 11
dt      = 1./8.
medan   = box(color=color.white, 
        pos=(l/2,0,0),length=l,height=l, 
        width=l, opacity=.3)

ball = sphere (pos=(-7,0,0), radius=.3, color=(uniform(0,1),uniform(0,1),uniform(0,1)))
 
def awal():
    global q,m,B,v
    q   = 1.
    m   = 1.
    B   = vector(0.,0.,1.)
    v   = vector(3.,0.,0.)


def proses():
    global v,B
    if ball.x > 0:
        B   = vector(0.,0.,1.)
    else:
        B   = vector(0.,0.,0.)
    print B
    F   = q*(cross(v,B))
    a   = F/m
    v   += a*dt
    
    ball.pos += v*dt
    print ball.x
    
awal()
while 1:
    rate (37)
    proses()
    
    

.