Code/NodeBox

ping_multi

maetel 2007. 6. 18. 16:03

size(300,300)
speed(100)

def setup():
    global x
    global y
    global vx
    global vy

#initial position
    x=range(5)
    y=range(5)
    
    x[0]=150  
    y[0]=150

    x[1]=100
    y[1]=100
    
    x[2]=200
    y[2]=200
    
    x[3]=100
    y[3]=200
    
    x[4]=200
    y[4]=100
    
#initial velocity
    vx=range(5)
    vy=range(5)
    
    vx[0]=20
    vy[0]=20
    
    vx[1]=10
    vy[1]=20
    
    vx[2]=20
    vy[2]=10
    
    vx[3]=10
    vy[3]=10
    
    vx[4]=5
    vy[4]=25
    
        
def draw():
    global x
    global y
    global vx    
    global vy
    
    c=0.001  #viscosity
    r=1.1   #repulsive force

    ax=range(5)
    ay=range(5)    
    
    for num in range(5):
        ax[num]=-vx[num]*c
        ay[num]=-vy[num]*c
        vx[num]+=ax[num]    
        vy[num]+=ay[num]
        x[num]+=vx[num]
        y[num]+=vy[num]
          
        if (x[num]>=WIDTH-5):
            vx[num]*=-r
            x[num]=WIDTH-5

        if (x[num]<=5):
            vx[num]*=-r
            x[num]=0

        if (y[num]>=HEIGHT-5):
            vy[num]*=-r
            y[num]=HEIGHT-5

        if (y[num]<=5):
            vy[num]*=-r
            y[num]=0    

        oval(x[num],y[num],20,20)
 

    #print x,y,vx,vy                
    #text(str(y),100,100)