—-
Beating the Train
A train is approaching a crossing, traveling at a constant velocity if 15 m/s to the east. You are on an afternoon ride on your motorcycle when you get stopped at a stoplight 50 m south of the crossing. At the instant the light turns green, the train is 90 m west of the crossing. Your mass, including the motorcycle, is 400 kg
GlowScript 2.7 VPython #Creating the objects floor = box(pos=vector(0,-30,0), size=vector(100,4,12), color=color.white) #I've created the floor that the crate will slide across crate = box(pos=vector(0,0,0), size=vector(20,20,5), color=color.red) #I've created the crate, along with its dimensions and initial position resting on the floor #Setting the time interval t=0 #I've set the initial time to zero. tf=0.940 #I've set the final time to 0, which gives the crate enough time to slide across the floor dt=0.01 #I want my time interval set at 1/100th of a time unit #Creates velocity vectors as a function of time get_library('https://rawgit.com/perlatmsu/physutil/master/js/physutil.js') #The program needed to know what a motion map is defined as motionMap = MotionMap(crate, tf, 5, markerScale=0.1) #I want to display 5 arrows showing the motion of the crate #Giving the objects an initial velocity cratev=vector(75,0,0) #I'm defining the constant velocity of my crate to be 75 in the x-direction(left to right) while crate.pos.x<35: #I want the crate to stop before it slides off the floor rate(50) #This rate can speed up or slow down the replay crate.pos=crate.pos+cratev*dt #I'm moving the crate by adding the change in position (cratev*dt) to the previous position (crate.pos) t=t+dt #I'm updating the time #This updates the velocity vectors motionMap.update(t,cratev) #This updates the motion map and display of the arrows as the crate slides across the floor #This creates the graph of the kinetic energy of the crate #f1 = gcurve(color=color.blue) #Setting up a graph to show the kinetic energy of the crate as a function of time #for t in arange(0, 0.94, 0.01): # Time goes from 0 to 0.94 in 0.01 time intervals # f1.plot(pos=(t,cratev.mag**2))
GlowScript 2.7 VPython #Creating the objects train = box(pos=vector(-100,-5,0), size=vector(20,5,8), color=color.red) #I've created the crate, along with its dimensions and initial position resting on the floor cycle = box(pos=vector(0,-51,0), size=vector(2,2,2), color=color.white) #Setting the time interval t=0 #I've set the initial time to zero. dt=0.01 #I want my time interval set at 1/100th of a time unit #Creates velocity vectors as a function of time get_library('https://rawgit.com/perlatmsu/physutil/master/js/physutil.js') #The program needed to know what a motion map is defined as #motionMap1 = MotionMap(crate1, tf, 5, markerScale=0.1) #I want to display 5 arrows showing the motion of the crate #motionMap2 = MotionMap(crate2, tf, 5, markerScale=0.1) #Giving the objects an initial velocity trainv=vector(15,0,0) #I'm defining the constant velocity of my crate to be 75 in the x-direction(left to right) cyclev=vector(0,0,0) cycleacc=vec(0,2.78,0) while cycle.pos.y<=10: #I want the crate to stop before it slides off the floor rate(100) #This rate can speed up or slow down the replay train.pos=train.pos+trainv*dt #I'm moving the crate by adding the change in position (cratev*dt) to the previous position (crate.pos) cyclev=cyclev + cycleacc*dt cycle.pos=cycle.pos+cyclev*dt t=t+dt #I'm updating the time #This updates the velocity vectors #motionMap1.update(t,crate1v) #This updates the motion map and display of the arrows as the crate slides across the floor #motionMap2.update(t,crate2v) #This creates the graph of the kinetic energy of the crate #f1 = gcurve(color=color.blue) #Setting up a graph to show the kinetic energy of the crate as a function of time #for t in arange(0, 0.94, 0.01): # Time goes from 0 to 0.94 in 0.01 time intervals # f1.plot(pos=(t,crate1v.mag**2)) # plot time vs. kinetic energy of the crate