Python,
pasted
on Aug 4:
|
planets = 4
locexp = 5
initmass = 100
initloc = 10
masses = []
locs = []
velocities = [0]*planets
accum = 0
for a in range(planets):
masses = masses + [initmass * 2**a]
locs = [accum + initloc * locexp**(planets - a-2)] + locs
accum = accum - initloc * locexp**(planets - a-2)
locs[0] = locs[1]-2*initloc
masses = [initmass] + masses[:-1]
#print locs, masses
for a in range(planets-1,0,-1):
#print "a:" + str(a)
for b in range(0,a+1):
#print "b:" + str(b)
if b == a:
sign = -1
else:
sign = 1
#print "mass:" + str(1.0 * masses[a])
#print "dist:" + str(2*initloc * locexp**(a-1))
#print sign * ((1.0 * masses[a])/(2*initloc * locexp**(a-1)))**.5/(2**.5)
velocities[b] = velocities[b] + sign * ((1.0 * masses[a])/(2*initloc * locexp**(a-1)))**.5/(2**.5)
#print velocities
output = "Gravity Fun at TestTubeGames.com: [ForceG: -2,Qual: 1,Zoom: 1,xSet: 0,ySet: 0]"
for a in range(planets):
output = output + ", [x0: " + str(locs[a]) + ",y0: 0,vx: 0,vy: " + str(velocities[a]) + ",t0: 0,who: 2,m: " + str(masses[a]) + "]"
print output
|
Output:
|
Gravity Fun at TestTubeGames.com: [ForceG: -2,Qual: 1,Zoom: 1,xSet: 0,ySet: 0], [x0: -310,y0: 0,vx: 0,vy: 3.21359436212,t0: 0,who: 2,m: 100], [x0: -290,y0: 0,vx: 0,vy: 0.0513167019495,t0: 0,who: 2,m: 100], [x0: -200,y0: 0,vx: 0,vy: -0.367544467966,t0: 0,who: 2,m: 200], [x0: 250,y0: 0,vx: 0,vy: -0.632455532034,t0: 0,who: 2,m: 400]
|
|