In this lab you will:
- Determine the launch speed of a ball launcher (with uncertainty)
- See if the launch speed is independent of launch angle
- Predict the landing location (with uncertainty) of a ball shot off the table
- Use Vpython to model the motion of a ball
What is projectile motion? This is any motion such that the only force on the object is the gravitational force. The object will have non-zero acceleration only in the vertical direction. Do you like movies? Here is a video about projectile motion.
And here is another video about projectile motion:
Also, if you like my book (the ebook is on blackboard so you can download it) then look at chapter 7. Whatever you do, remember the key to projectile motion is that there are essentially 2 one-dimensional problems. The only thing these two problems have that connect them together is the time. The time for the two motion is the same.
Determining the launch speed
Here the trick is to make some measurements that don’t happen really fast. If you try to use a stopwatch, the uncertainty in the time is going to be too large. Instead, we will shoot the ball horizontally off a table and onto the floor. In this case we can measure the height the ball falls and the distance (horizontally) the ball travels. Here is a picture.
The vertical height can just be measured with a meter stick. The horizontal distance can be measured by look at the location on the floor where the ball lands. If you tape some paper down and place (but do not tape) a piece of carbon paper over that, it will leave a mark when it hits the ground. Here is the trick:
- From the vertical height, you can find the time the ball is in the air. This is even easier since the initial vertical velocity is zero.
- Once you have the time, you can use this and the x-distance to find the x-velocity. Also, since the ball is launched horizontally the x-velocity is the initial velocity (in this case).
- For uncertainty, just approximate the uncertainty in the vertical direction. For the horizontal distance, shoot the ball at least 5 times to get an average and the standard deviation. It would be nice to record the sideways deviation of motion too.
There are other ways of finding the initial velocity of the ball. Can you think of a better (more accurate) method? What if you used a photogate?
Launching at an angle
For this next part, you will launch the ball at an angle off the table. Just pick an angle – like maybe 30 degrees or something. Calculate where the ball will land – BUT DON’T SHOOT IT UNTIL YOU CALCULATE IT! Remember, in this case the initial y-velocity is NOT zero. Also calculate the uncertainty in the distance based on your uncertainty in the initial velocity and the uncertainty in the height. You can assume that the uncertainty in g is small enough to be ignored.
Modeling in Vpython
Start with your program for the fan cart. You don’t have to create a table and a floor (although that would be cool). Give your ball the same initial velocity and height as the above calculation. Where does the ball land?
The important thing about this program is that it will help you set up a later (more complicated) program. Here is a basic outline of things you should put in your program. If you get stuck, ask me for help:
- from visual import *
- make some constants (like g)
- make your objects (at least a ball)
- initial conditions: where is the ball? What is the velocity? What is the time? What is dt?
- make a while loop. In this loop:
- calculate the force on the ball (which shouldn’t change)
- update the momentum of the ball using the momentum principle
- update the position
- update the time
- repeat the above
That should be it for the vpython. You might want to print the final position or something.
Launch Speed and Angle
If you get bored, see if you can figure out a way to see how constant the launch velocity is. In your above calculations, you assume the velocity didn’t change – but it probably does.