Professional Documents
Culture Documents
def accln(x1,y1,x2,y2,x3,y3,m2,m3,prob):
ation on m1 due to m2 and m3
x_2=vec(x1,y1,x2,y2)
x_3=vec(x1,y1,x3,y3)
# accler
a2x=-1*m2*x_2[0]/float(dist_s(x_2))
a2y=-1*m2*x_2[1]/float(dist_s(x_2))
a3x=-1*m3*x_3[0]/float(dist_s(x_3))
r2)/|r1-r2|^3 -m3(r1-r3)/|r1-r3|^3
a3y=-1*m3*x_3[1]/float(dist_s(x_3))
ax=prob*(a2x+a3x)
ay=prob*(a2y+a3y)
return [ax,ay]
def velocity(vx,vy,a,t):
vxf=vx+a[0]*t
vyf=vy+a[1]*t
return[vxf,vyf]
#### vf=vi+a*t
def pos(x,y,vx,vy,a,t):
xf=x+vx*t+.5*a[0]*t*t
yf=y+vy*t+.5*a[1]*t*t
return[xf,yf]
##xf=xi+vi*t+.5*a*t*t
time=range(0,n)
for i in time:
a1=accln(r1x[i],r1y[i],r2x[i],r2y[i],r3x[i],r3y[i],m[1],m[2],prob[0])
v1=velocity(v1x[i],v1y[i],a1,dt)
v1x.append(v1[0])
v1y.append(v1[1])
pos1=pos(r1x[i],r1y[i],v1x[i],v1y[i],a1,dt)
r1x.append(pos1[0])
r1y.append(pos1[1])
################################################################################
###########################
a1=accln(r2x[i],r2y[i],r1x[i],r1y[i],r3x[i],r3y[i],m[0],m[2],prob[1])
v1=velocity(v2x[i],v2y[i],a1,dt)
v2x.append(v1[0])
v2y.append(v1[1])
pos1=pos(r2x[i],r2y[i],v2x[i],v2y[i],a1,dt)
r2x.append(pos1[0])
r2y.append(pos1[1])
################################################################################
#################################
a1=accln(r3x[i],r3y[i],r2x[i],r2y[i],r1x[i],r1y[i],m[1],m[0],prob[2])
v1=velocity(v3x[i],v3y[i],a1,dt)
v3x.append(v1[0])
v3y.append(v1[1])
pos1=pos(r3x[i],r3y[i],v3x[i],v3y[i],a1,dt)
r3x.append(pos1[0])
r3y.append(pos1[1])
lab.figure(1)
lab.plot(r1x,r1y,label="1")
lab.plot(r2x,r2y,label="2")
lab.plot(r3x,r3y,label="3")
lab.plot(r1x[0],r1y[0],'bo',r1x[-1],r1y[-1],'b*')
lab.plot(r2x[0],r2y[0],'go',r2x[-1],r2y[-1],'g*')
lab.plot(r3x[0],r3y[0],'ro',r3x[-1],r3y[-1],'r*'),lab.xlabel("x"),lab.ylabel("y"
),lab.title("Configuration space")
lab.legend()
lab.figure(2)
lab.plot(r1x,v1x,'r')
lab.xlabel("x"),lab.ylabel("v_x"),lab.title("Phase-space plot")
lab.show()