{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Projectile Motion\n",
"## 1. Introduction\n",
"*This notebook is meant to satisfy Physics 20-A1.3s. Special thanks to Ms. Catherine Reichelt for her help on developing this notebook.*\n",
"#### *Objective: Mathematically analyze the movement of a launched object to determine flight path, speed, and time.* \n",
"Learning projectile motion will enable __you__ with the skills to understand how launched objects fly through the air and how you can design your own. It is critical for sports, military, and any scenario where you need an airborne object to reach a destination. What examples can you think of? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Projectile motion explores the physics behind anything airborne that is subjected only to gravity. From throwing a dart to shooting a basketball to medieval cannons used during sieges, all of these objects are ruled by the same basic principles. \n",
"\n",
"\n",
">
\n",
">\n",
">
A clip from the game Besiege (http://www.indiedb.com/games/besiege/images/besiege-gif)
\n", "\n", "### Who created projectile motion analysis?\n", "\n", ">Painting of Galileo (https://www.gettyimages.ca/detail/news-photo/galileo-galilei-and-his-telescope-engraving-1864-news-photo/526510364)
\n", "\n", "Galileo, one of the great fathers of astronomy and modern science, created projectile motion analysis over 400 years ago. This gave him the tools to improve the accuracy and effectiveness of military cannons in the 17th century. The reason we study it today is because his method has stood the test of time and continues to be a fundamental foundation to areas like aerodynamics, sports performance, and military design. \n", "\n", "For the purposes of understanding the fundamentals, the effects of air resistance will be ignored. While it makes our lives simpler, it is wrong to assume that projectiles only experience the force of gravity - air resistance can play a significant role in many cases. Air resistance is responsible for lower projectile speeds and distances but it is also critical to helping airplanes slow down, keeping race cars grounded at high speeds (which is why they have spoilers), and causing crazy phenomena like the Magnus effect shown below. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n" ], "text/plain": [ "Projectile motion animation (http://gbhsweb.glenbrook225.org/gbs/science/phys/mmedia/vectors/nhlp.html)
\n", "\n", "\n", "Galileo realized that projectile motion could be broken into two components: __horizontal (x)__ and __vertical (y)__ that can be analyzed separately. These two dimensions are __independent__, the only variable they share is time *__t__*. This means that changes in the vertical distance, speed, and acceleration will not affect the horizontal components and vice versa." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vertical Component\n", "Due to the force of gravity, the object will accelerate towards the center of the Earth. This means that its initial velocity will be different from its final velocity.\n", "There are 5 variables involved in the vertical component: acceleration, initial velocity, final velocity, *altitude* (distance travelled vertically), and time. We will assume $ \\vec a $ is constant for projectile motion and equivalent to $ 9.81 m/s^2$. \n", "\n", "\n", "\\begin{equation}\n", "\\vec a , \\vec v_i , \\vec v_f , \\vec d_y , t\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are 5 kinematic equations for uniform acceleration where each one contains 4 of the 5 variables listed above. Given 3 of the variables in a problem, the other 2 can each be found by picking an appropriate equation. *Note: If the object is initially launched horizontally, then $\\vec v_i $ = 0 * \n", "\n", "\\begin{equation}\n", "\\vec a_{ave} = \\frac{\\vec v_f - \\vec v_i}{t} \\\\\n", "\\vec d = \\vec v_i t + \\frac12\\ \\vec a t^2 \\\\\n", "\\vec d = \\vec v_f t - \\frac12\\ \\vec a t^2 \\\\\n", "\\vec d = \\frac{\\vec v_f + \\vec v_i}{2} t \\\\\n", "v_f^2 = v_i^2 + 2 a d \\\\\n", "\\end{equation}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "__Solution__\n", "\n", "
\n", "1) Draw a picture of the scenario. This will give you a better grasp of the problem. \n", "2) Define your sign convention. Assign positive and negative directions to y. \n", "\n", "\n", "\n", "\n", "3) Identify the variables you know and the variable(s) you're trying to find. Pick a formula that best fits the problem scenario and solve for the unknown.\n", "
\n", "\n", "\n", "The rock is released from rest so $ \\vec v_i = 0 $. Based on the information given and our sign convention, we can state the following:\n", "
\n", "\n", "\n", "\\begin{equation}\n", "\\vec v_i = 0 \\\\\n", "\\vec a = +9.81 \\ m/s \\\\\n", "t = 1.62\\ s \\\\\n", "\\vec d_y = \\ ? \\\\\n", "\\vec v_f = \\ ? \\\\\n", "\\end{equation}
\n", "\n", "We have 3 known variables and 2 unknown variables in the problem. However, in this case we're looking for $ \\vec d_y $ so we don't care what $ \\vec v_f $ is. If we take a look at the 5 vertical component equations, we see that the following equation has the 3 variables we know and the one we're looking for:
\n", "\n", "\\begin{equation}\n", "\\vec d_y = \\vec v_i t + \\frac12\\ \\vec a t^2 \\\\\n", "\\end{equation}\n", "\n", "We don't want one with $ \\vec v_f $ because we don't know its value. Using this equation we can solve for $ \\vec d_y $:
\n", "\n", "\\begin{equation}\n", "\\vec d_y = (0)(2.62\\ s) + \\frac12\\ (+9.81\\ m/s^2) (1.62\\ s)^2 \\\\\n", "\\vec d_y = +12.8727\\ m \\\\\n", "\\vec d_y = +12.9\\ m \\\\\n", "\\end{equation}\n", "\n", "Using the time it took to fell, we can conclude that the cliff is 12.9 meters tall.\n", "\n", "
\n", "__Solution__\n", "\n", "
\n", "1) Draw a picture of the scenario. This will give you a better grasp of the problem. \n", "2) Define your sign convention. Assign positive and negative directions to x. \n", "\n", "\n", "\n", "\n", "3) Identify the variables you know and the variable(s) you're trying to find. Pick a formula that best fits the problem scenario and solve for the unknown.\n", "
\n", "\n", "\n", "The horizontal component is easier than the vertical component because there's only one equation with 3 variables. List the 2 variables you know and the one you're trying to find:\n", "
\n", "\n", "\\begin{equation}\n", "\\vec v_x = +30.0\\ km/h =\\ +8.3333\\ m/s \\\\\n", "t = 1.62\\ s \\\\\n", "\\vec d_x = \\ ? \\\\\n", "\\end{equation}
\n", "\n", "Rearrange the uniform motion equation for the unknown and solve:
\n", "\n", "\\begin{equation}\n", "\\vec v_x = \\frac {\\vec d_x}{t} \\\\\n", "\\vec d_x = \\vec v_x t = (+8.3333\\ m/s)(1.62\\ s) \\\\\n", "\\vec d_x = +13.5\\ m \\\\\n", "\\end{equation}\n", "\n", "The pond is 13.5 meters long.\n", "\n", "
\n", "__Solution__\n", "\n", "
\n", "1) Draw a picture of the scenario. This will give you a better grasp of the problem. \n", "2) Define your sign convention. Assign positive and negative directions to both x and y. \n", "\n", "\n", "\n", "\n", "3) Set up a table and identify the variables you know and the variable(s) you're trying to find. Pick a vertical component formula that best fits the problem scenario and solve for the unknown.\n", "
\n", "\n", "\n", "Based on the information given and our sign convention, we can fill our data table with the following:\n", "
\n", "\n", "\n", "\\begin{array}{cc}\n", "x &y \\\\ \\hline\n", "\\vec d_x = +90.0\\ m &\\vec d_y = -50.0\\ m \\\\ \n", "\\vec v_x =\\ ? &\\vec a = -9.81\\ m/s^2 \\\\ \n", "\\ &\\vec v_i = 0 \\\\ \n", "\\end{array}\n", "$$ t =\\ ? $$
\n", "\n", "Note that $ \\vec v_i = 0 $ because the projectile is launched horizontally, and $ t $ is common to both x & y.
\n", "\n", "To find $ \\vec v_x $, we need $ \\vec d_x $ and $ t $. We know $ \\vec d_x $ but we're missing $ t $ so we'll need to use the vertical data to solve for $ t $. Because we know $ \\vec d_y, \\vec a, $ and $ \\vec v_i $, and we're looking for $ t $, we'll use the following equation because we can solve for $ t $ using the variables we know:
\n", "\n", "\\begin{equation}\n", "\\vec d = \\vec v_i t + \\frac12\\ \\vec a t^2 \\\\\n", "\\end{equation}\n", "\n", "Because $ \\vec v_i = 0 $, the first term goes to 0 and the resulting equation can be rearranged to solve for $ t $:
\n", "\n", "\\begin{equation}\n", "\\vec d = \\frac12\\ \\vec a t^2 \\\\\n", "t = \\sqrt{\\frac{2 \\vec d_y}{\\vec a}} \\\\\n", "\\end{equation}\n", "\n", "Plug in values to find $ t $:
\n", "\n", "\\begin{equation}\n", "t = \\sqrt{\\frac{2 (-50.0\\ m)}{(-9.81\\ m/s^2)}} = 3.1928\\ s\n", "\\end{equation}
\n", "\n", "Now that $ t $ is known we can solve for $ \\vec v_x $ using the uniform motion equation:
\n", "\n", "\\begin{equation}\n", "\\vec v_x = \\frac {\\vec d_x}{t} = \\frac {(+90.0\\ m)}{(3.1928\\ s)} = +28.2\\ m/s \\ \\ (+101.5\\ km/h)\n", "\\end{equation}
\n", "\n", "
\n", "__Solution__\n", "
\n", "\n", "Yes, they will. Horizontal and vertical motion are independent for a projectile so the horizontal movement of the launched object does not affect its vertical freefall.\n", "\n", "\n", "\n", "\n", "\n", "
(Drawing courtesy of Ms. Reichelt)
\n", "
\n", "\n", "\n", "The horizontal velocity $ \\vec v_x $ will remain the same throughout the flight (uniform motion) while $ \\vec v_y $ will decrease to the top of its trajectory and then increase downwards. __Note: If the initial launch height and final landing height are the same ($ \\vec d_y $ = 0), then the projectile will land with the same initial speed and angle!__ The initial horizontal and vertical velocities can be solved with some simple trigonometry:\n", "\n", "$$\n", "\\begin{array}{cc}\n", "x &y \\\\ \n", "cos(50^{\\circ}) = \\frac{adj}{hyp} = \\frac{\\vec v_x}{31\\ m/s} &sin(50^{\\circ}) = \\frac{opp}{hyp} = \\frac{\\vec v_y}{31\\ m/s} \\\\\n", "\\vec v_x = (31\\ m/s)\\ cos(50^{\\circ}) &\\vec v_y = (31\\ m/s)\\ sin(50^{\\circ}) \\\\ \n", "\\vec v_x = +19.9264\\ m/s &\\vec v_y = +23.7474\\ m/s \\\\ \n", "\\vec v_x = +20\\ m/s &\\vec v_y = +24\\ m/s \\\\ \n", "\\end{array}\n", "$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", "__Solution__\n", "
\n", "__a)__
\n", "\n", "\n", "To find the max height, let's only look at the first half of the flight path. That way, we know $ \\vec v_f = 0 $ because projectiles have no vertical velocity at the top of their flight path. \n", "\n", "\n", "\n", "__b)__\n", "\n", "\n", "We'll use the same sign convention from Question 3. Because we're using the same values from the previous scenario, we can set up our table with the following information:\n", "
\n", "\n", "\n", "\\begin{array}{cc}\n", "x &y \\\\ \\hline\n", "\\vec v_x =\\ +19.9264\\ m/s &\\vec v_i = +23.7474\\ m/s \\\\ \n", "\\ &\\vec v_f = 0 \\\\ \n", "\\ &\\vec a = -9.81\\ m/s^2 \\\\ \n", "\\ &\\vec d_y =\\ ? \\\\ \n", "\\end{array}\n", "$$ t =\\ ? $$
\n", "\n", "Looking at our table, we have 3 knowns and 1 unknown in the vertical column. That means we can solve for $ \\vec d_y $. Looking at our vertical component equations, the one that contains our 3 known variables and $ \\vec d_y $ is:
\n", "\n", "\\begin{equation}\n", "v_f^2 = v_i^2 + 2 a d\n", "\\end{equation}
\n", "\n", "$ \\vec v_f = 0 $ so we can rearrange and solve for $ \\vec d_y $:
\n", "\n", "\\begin{equation}\n", "\\vec d_y = -\\frac{\\vec v_i^2}{2 \\vec a} = -\\frac{(+23.7474\\ m/s)^2}{2\\ (-9.81\\ m/s^2)} \\\\\n", "\\vec d_y = +28.7431\\ m \\\\\n", "\\vec d_y = +28.7\\ m \\\\\n", "\\end{equation}
\n", "\n", "
\n", "\n", "\n", "To find the flight time, we could either find the time it takes to reach the top of its trajectory and double that, or we could look at the full flight path and find the time to landing. In this case we will choose the latter.\n", "\n", "__c)__
\n", "\n", "\n", "\n", "\n", "Because our flight path changed, some of our variable have too. In particular, $ \\vec d_y = 0 $ which also means that $ \\vec v_f = -\\vec v_i $. Let's make a new table:\n", "
\n", "\n", "\\begin{array}{cc}\n", "x &y \\\\ \\hline\n", "\\vec v_x =\\ +19.9264\\ m/s &\\vec v_i = +23.7474\\ m/s \\\\ \n", "\\ &\\vec v_f = -23.7474\\ m/s \\\\ \n", "\\ &\\vec a = -9.81\\ m/s^2 \\\\ \n", "\\ &\\vec d_y =\\ 0 \\\\ \n", "\\end{array}\n", "$$ t =\\ ? $$
\n", "\n", "Now, we're looking for $ t $ but we don't have enough horizontal data to solve with uniform motion. However, we know 4 out of the 5 vertical variables which means we have lots of options for the vertical equation. Any of the first 4 equations will do but the second and third will require solving a quadratic equation. To make life easy, we'll use the first one:
\n", "\n", "\\begin{equation}\n", "\\vec a_{ave} = \\frac{\\vec v_f - \\vec v_i}{t}\n", "\\end{equation}
\n", "\n", "Rearrange and solve for $ t $ (Remember to keep your sign convention. If you don't you could end up with 0 here!):
\n", "\n", "\\begin{equation}\n", "t = \\frac{\\vec v_f - \\vec v_i}{\\vec a_{ave}} = \\frac{(-23.7474\\ m/s) - (+23.7474\\ m/s)}{(-9.81\\ m/s^2)} \\\\\n", "t = 4.8415\\ s \\\\\n", "t = 4.84\\ s \n", "\\end{equation}
\n", "\n", "
\n", "\n", "\n", "Now that we have the flight time and $ \\vec v_x $, we can use the uniform motion equation to solve for range:\n", "\n", "__d)__
\n", "\n", "\\begin{equation}\n", "\\vec v_x = \\frac {\\vec d_x}{t} \\\\\n", "\\vec d_x = \\vec v_x \\ t = (+19.9264\\ m/s)\\ (4.8415\\ s) = +96.4730\\ m \\\\\n", "\\vec d_x = +96.5\\ m\n", "\\end{equation}
\n", "\n", "\n", "
\n", "\n", "\n", "At max height, the vertical velocity $ \\vec v_y = 0 $ so the only velocity is horizontal.\n", "\n", "\n", "\n", "__e)__\n", "\n", "\n", "\n", "
\n", "\n", "\n", "The only acceleration is the acceleration due to gravity which is a constant pointing downwards (see part d for image).\n", "\n", "\n", "\n", "__f)__
\n", "\n", "\n", "Because $ \\vec d_y = 0 $ for the full flight path, $ \\vec v_f = -\\vec v_i = -23.7474\\ m/s $. Horizontal velocity is constant so:\n", "\n", "
\n", "\n", "\n", "\n", "\n", "\\begin{equation}\n", "\\vec v_f = 31.0\\ m/s\\ \\ at -50.0^{\\circ}\n", "\\end{equation}\n", "
\n", "\n", "
__----- Continue on only after attempting Question 5. -----__
" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "hide-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", "" ], "text/plain": [ "\n", "__Solution__\n", "
\n", "__a)__
\n", "\n", "\n", "\n", "\n", "With a picture and sign convention drawn, let's mark down the values we know in a table. While we don't know the angle $\\theta$, and $ \\vec v_i $ is an unknown constant, we can still write down $ \\vec v_x $ and $ \\vec v_{i_y} $ in terms of $\\theta$ and $ \\vec v_i $ because we ultimately want an equation with these terms:\n", "
\n", "\n", "\\begin{array}{cc}\n", "x &y \\\\ \n", "cos(\\theta) = \\frac{adj}{hyp} = \\frac{\\vec v_x}{\\vec v_i} &sin(\\theta) = \\frac{opp}{hyp} = \\frac{\\vec v_y}{\\vec v_i} \\\\\n", "\\vec v_x = \\vec v_i cos(\\theta) &\\vec v_y = \\vec v_i sin(\\theta) \\\\ \n", "\\vec v_x = v_i cos(\\theta) &\\vec v_y = v_i sin(\\theta) \\\\ \n", "\\end{array}
\n", "\n", "The vector arrow on $ v_i $ is dropped because we know it's positive in both directions based on our sign convention. Also, we assume a flat field so $ \\vec d_y = 0 $ which means that $ \\vec v_{y_f} = -\\vec v_{y_i} $ Therefore, our data table becomes:\n", "\n", "\\begin{array}{cc}\n", "x &y \\\\ \\hline\n", "\\vec v_x =v_i cos(\\theta) &\\vec v_i = v_i sin(\\theta) \\\\ \n", "\\vec d_x =\\ ? &\\vec v_f = -v_i sin(\\theta) \\\\ \n", "\\ &\\vec a = -g \\\\ \n", "\\ &\\vec d_y =\\ 0 \\\\ \n", "\\end{array}\n", "$$ t =\\ ? $$
\n", "\n", "Acceleration is written as $ -g = -9.81 m/s^2 $ for simplicity. Note that this is a constant written as a letter, __not a variable.__
\n", "\n", "In order to come up with an equation for $ \\vec d_x $, we first need an equation for $ t $ in terms of the given variables $ \\vec v_i $ and $\\theta$. Considering we know or have expressions for 4 of the vertical values, we will choose the first equation which makes it easy to solve for t:
\n", "\n", "\\begin{equation}\n", "\\vec a_{ave} = \\frac{\\vec v_f - \\vec v_i}{t}\n", "\\end{equation}
\n", "\n", "Rearrange and solve for $ t $:
\n", "\n", "\\begin{equation}\n", "t = \\frac{\\vec v_f - \\vec v_i}{\\vec a_{ave}} = \\frac{(-v_i sin(\\theta)) - (v_i sin(\\theta))}{(-g)} \\\\\n", "t = \\frac{2 v_i sin(\\theta)}{g} \\\\\n", "\\end{equation}
\n", "\n", "This expression can be applied to the horizontal component to come up with an equation for $ \\vec d_x $:
\n", "\n", "\\begin{equation}\n", "\\vec v_x = \\frac{\\vec d_x}{t} \\\\\n", "\\vec d_x = \\vec v_x t \\\\\n", "\\vec d_x = (v_i cos(\\theta)) (\\frac{2 v_i sin(\\theta)}{g}) \\\\\n", "\\vec d_x = \\frac{2}{g} v_i^2 sin(\\theta) cos(\\theta) \\\\\n", "\\end{equation}
\n", "\n", "Knowing that $ g $ and $ v_i $ are constants, this means that $ \\vec d_x $ is only a function of the variable $\\theta$. \n", "\n", "
__----- Continue on only after attempting Question 6 Part (a) and checking with the solution. The next section will cover Part (b). -----__
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Python Basics\n", "\n", "From this point on, there are two ways to solve for $\\theta$: you can use calculus to solve for it analytically, or we can get creative and use coding with graphing to find the answer!\n", "\n", "Python provides us with some great tools to graph this function easily. If you have some knowledge of Python you can skip the explanations and just run the code cells. If not, we're going to take a moment to understand what the code you're about to see does. First up, let's go over the first bit of code.\n", "\n", "__Imports__ \n", "At the beginning of most Python programs you're more than likely to see a few (or many) `import` statements. The purpose of these is to bring in other pieces of code, that either you or someone else have written, in order to keep your current program more manageable. For example, the set of import statements we're going to use to plot our functions look like this (click on the code block below and press `Ctrl` and `Enter` on your keyboard simultaneously to run the cell)." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Starting from the top down, let's go over what each piece of this code does. \n", "\n", "1. **%matplotlib inline:** This is very specific to the Jupyter notebook we're using. This tells matplotlib (next bullet) to output graphs in the cell directly below the one in which the code is executed. For more information about Jupyter \"magic commands\" feel free to read [this document](http://ipython.readthedocs.io/en/stable/interactive/magics.html).\n", "\n", "2. **import matplotlib**: This command tells Python to import the `matplotlib` package. This package contains the python functions that we'll be using for plotting. \n", "\n", "3. **import numpy as np**: This imports the python package `numpy` or \"numerical python\" and assigns the name to it within our code to `np` so we don't have to type out `numpy` every time we need a function. We'll be using this package for mathematical functions like sine and the square root. \n", "\n", "4. **import matplotlib.pyplot as plt**: This imports the graphing subroutines from the `matplotlib` packages and assigns them the name `plt` so we don't have to type as much when we want to produce a graph.\n", "\n", "__Plotting__ \n", "After required modules have been imported into our script, we're ready to get started graphing. First up, we need to define a number of points which to plot. Our computer doesn't understand that the variable $ \\theta $ is fully continuous, so we have to give it a discrete set of points to plot our function with. We can do that in python using numpy as follows (click the next cell and press control and enter at the same time on your keyboard)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "theta = [ 0. 22.5 45. 67.5 90. ]\n" ] } ], "source": [ "theta = np.linspace(0,90,5)\n", "print(\"theta = \", theta)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This creates a **list** of numbers called `theta` which consists of 5 numbers evenly spaced in the domain $[0,90]$ that we'll use to plot our function. The `print` function is a standard python function that simply displays our variables to the screen as either numbers or characters. In order to plot our functions, we type the following. Note that we've increased the number of points in `theta` to create a smoother plot. Feel free to change the number `100` to something smaller and observe how the plot changes. We also assigned a value to `v_i` and `g` so that the computer can plot the function numerically. Likewise, play around with these numbers and see how your range changes." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "