from visual import * from random import * from math import * from time import * # This program adds vectors which have a magnitude of 1 and # a random direction in the x-y plane. This simulates the # "random walk" behavior that may be demonstrated by molecules # and radiation. limits=[100,1000,10000,100000,1000000,10000000] vec = vector(1.0,0.0,0.0) for lim in limits: i=0 t0 = time() vsum=vector(0.0,0.0,0.0) while i<lim: theta=2.0*pi*random() vsum=vsum+rotate(vec,angle=theta,axis=(0,0,1)) i=i+1 print "# of Vectors = ",lim, "; Time = ",time()-t0, "sec" print " Mag = ",mag(vsum) print " Angle = ",atan2(vsum.y,vsum.x)*(180.0/pi)," degrees" print "Done"