In this interactive, we will be considering the problem of a cannonball launched from a cannon aiming towards a target located in the same horizontal plane as the cannon. We can work out the path of the projectile using basic physics and some trigonometry.
Of course, everything involved in this interactive will be a mathematical idealization. We will assume:
Each of these idealizations/approximations introduces some amount of error, and later on in this interactive, we'll be looking into how we can reason about that error.
This interactive uses KAS.js (MIT License) to check if your solution is the same as the solution we have on file. Do not use units in your answers. Please be patient if you have the correct answer but the parser doesn't recognize it! KAS.js depends on underscore.js (MIT License).
In the next few sections, we will work out a formula for how far a cannonball will fly if it is launched from a cannon with initial velocity v at an angle of a from the horizontal. You can skip ahead to the section on reasoning about error if you like.
In our mathematically idealized gravitational situation:
If an object is launched from a cannon with an initial horizontal velocity of u, then its horizontal position, how far to the right of the cannon it is, t units of time after being launched is ut. We will write x(t) to represent the object's horizontal position at time t, so:
x(t) = ut.If an object is launched from a cannon with an initial vertical velocity of w, then its vertical position, how far abover the cannon it is, t units of time after being launched is -.5gt2+wt, where g is the downward acceleration of gravity. We will write y(t) to represent the object's vertical position at time t, so:
y(t) = -gt2+wt
1 2
While the notation x(t) might look like x times t, we're actually using function notation here. The x coordinate of our cannonball depends on how much time has elapsed from when we launched the cannonball. The more time has elapsed, the further it has travelled horizontally. While it might seem strange to use the variable x to stand for a function, it's even stranger to write a product of two variables with the second in parentheses. Why not just write xt?
When working with variables that represent real world quantities we need to be careful about units. The Mars Climate Orbiter went off course since its trajectory calculation software reported the numerical value of how much the thrusters fired, but not the units. The calculation was done using American units, but other parts of the software expected the result to be in metric units. So what may have been 1000 pound-seconds was interpreted as 1000 Newton-seconds, or only 224.8 pound-seconds.
We have two options for dealing with units, either using unit arithmetic (a topic for another interactive) or always using the same units for your entire calculation. In this interactive we will use metric units everywhere: meters, kilograms, and seconds.
There are two really interesting things here: the cannonball's horizontal movement and its vertical movement are entirely independent of each other. For instance if we changed the cannonball's initial horizontal velocity without changing its vertical position, its vertical position at any time would be exactly the same; only its horizontal position would change.
The other interesting feature of our equations is that mysterious-seeming ½.
You might wonder what we mean by horizontal and vertical velocities (u and w, above) and how they relate to our cannonball's initial velocity (which we saved the variable v for).
Let's begin by imagining that we've turned off gravity for a moment: when the cannonball is fired it continues moving in a straight line at the same speed.
Angle (degrees): Time (seconds): Show Labels Show Trajectory |
In the interactive to the left, we've labeled the x and y coordinates of the cannonball, as well as its distance d from the cannon (you'll need to set time larger than 0 to see this). The cannonball's velocity (v) is the rate that its distance from the cannon is changing over time (i.e. d/t). The cannonball's horizontal velocity (u) is the rate that its horizontal distance from the cannon (i.e. its x coordinate) is changing over time (i.e. x/t); The cannonball's vertical velocity (w) is the rate that its vertical distance from the cannon (i.e. its y coordinate is changing over time (i.e. y/t); Write a formula for d in terms of v and t: Write a formula for x in terms of v, t and a. Write a formula for y in terms of v, t and a. Since the horizontal position is changing at a constant rate, we can calculate the horizontal velocity by dividing the horizontal distance by the time elapsed. Write a formula for the horizontal velocity u in terms of v, t and a. Similarly, we can calculate the vertical velocity by dividing the vertical distance by the time elapsed. Write a formula for the vertical velocity w in terms of v, t and a. |
Now let's return to considering the cannon problem.
Let's combine your results from the previous section with the formulas for projectile motion:
Horizontal Position as a function of Time:x(t) = ut.Vertical Position as a function of Time:y(t) = -gt2+wt
1 2
Our ultimate goal is to find where the cannonball lands, that is, the x coordinate of the cannonball when its y coordinate is 0.
Write a formula for that value of x in terms of v, g and a.
If you haven't yet, use the double angle formula to simplify your answer:
Write a formula for the value of x when y = 0 in terms of v, g and a.
Now that we have a formula for the distance the cannonball travels in terms of its initial velocity (v), the angle it's launched at (a), and the acceleration of gravity (g), let's investigate the following question:
How sensitive is where the cannonball lands to the angle we launch it at?Alternately:
- How does a small change in launch angle affect landing position?
- How does a small error in launch angle change where the cannonball lands?
- If we wanted to change the landing position by a small amount, how much would we have to change the launch angle by?
- How important is it to accurately measure the launch angle?
- How accurately do we need to measure the launch angle to ensure that the cannonball lands in a certain range?
We can also ask:
- Does changing the velocity affect the sensitivity?
- Does changing the angle affect the sensitivity?
- Note that, playing around with the Parabolic Motion interactive, there are generally two angles that will hit a particular target location: one shallow (less than 45 degrees) and one steep (more than 45 degrees). Could we reduce the dependence on getting the launch angle accurate by choosing one over the other?
Let's start plugging in some concrete numbers and see if we can notice any patterns. To make the numbers work out nicely, let's stick with a nice simple initial velocity of 3 meters per second (this is not realistic for cannonballs) and a gravitational acceleration of 10 meters per second squared (the actual gravitational acceleration near the surface of the earth is more like 9.8 m/s2).
Play around with the slider below for the launch angle and see how the landing position changes. Pay attention to how a small change in the launch angle affects the landing position. Are there certain angles where a small change in launch angle has a larger effect?
Angle: | Landing Position: | ||
Base (degrees): | Base (meters): |
It can be hard to see the patterns in the numbers above, so let's look at the data in another way. Check "Show Change Row" above and you'll be able to specify the launch angle in two parts: a base angle and then a change from that base angle. The launch angle will be the sum of the two, and then the table will let you compare the actual Landing Position to the landing position if the cannonball was launched at the base angle without the change (under Base (meters)). The third row presents the difference between the two (how much the landing position changes when you change the launch angle from its base value to the base plus change value).
Fill out the following table:
Recall that the formula for the horizontal distance travelled by our cannonball is:x =Where:sin(2a)
v2 g
- x is the landing position (horizontal distance travelled) of the cannonball.
- v is the initial launch velocity of the cannonball (velocity coming out of the cannon).
- g is the acceleration of gravity.
- a is the launch angle.
In answering the problems below, do not apply trigonometric identities unless told to do so.
Additionally, you will need to write squares of trigonometric values in your answers. The parser will interpret "sin(a)^2" as sin(a2). You'll need to enter "sin^2(a)" or "(sin(a))^2" to get it to parse as (sin(a))2. Writing (sin(a))2 as sin2(a) is definitely up there in terms of "bad choices of mathematical notation" but, alas, it is too popular a convention not to teach.
Plug in our given starting velocity v = 3 and gravitational acceleration g = 10 to find the relationship between launch angle and landing position for our specific case situation.
Your answer above gives you the landing position if the launch angle is a. What if it is a+h? (We will imagine that h is some small nonzero value and investigate how this small change in launch angle affects the landing position.)
Apply the trig sum identity (not the double angle formula) to write your answer above in terms of sin(2a), cos(2a), sin(2h), and cos(2h).
We want to know how much our landing position has changed, so subtract your answer to question 1 from your answer to question 3.
Combine like terms to divide your answer above into a multiple of sin(2a) and a multiple of cos(2a).
()sin(2a) + ()cos(2a)Use the double angle formula and the Pythagorean theorem to write the coefficient for sin(2a) above in terms of just sin2(h).
Now, we'd like to know what happens to your answers to questions 5 and 6 when h is small. Use the plug-in-small-values-o-tron below to try to find a nice monomial approximation to your answers.
f(x) = versusPlugging in small values to a function, like the small-value-o-tron does above, works well in this particular case, but can be very misleading in some situations. For instance, see what happens when you look at the function "cos(360/x)" through the plug-in-small-values-o-tron. This may lead you to believe that cos(360/x) is 1 for small values of x, but this isn't true at all. Can you find a small value of x for which cos(360/x) isn't 1?
Even worse, try looking at the function "sin(360/x)". Not only do we have the same problem as before, where we just happened to pick small values of x that lead to the same output, but due to rounding errors in the computation, we aren't even getting the right values shown on the table. What is sin(360/x) supposed to be for the values of x on the table?
You can get a better understanding of the functions cos(360/x) and sin(360/x) by looking at the graph of sin(1/x). How is this graph related to the graph of sin(360/x)? (Careful! The graph on the linked page is in radians, while everything on this page is in degrees.)
Hopefully, playing with the small-values-o-tron has convinced you that we can find monomial approximations to your answers to questions 5 and 6 above that are really good for small values of h. But if we want to know what the exact coefficients of our monomials are and be sure our approximation works for more than just the points we plugged in above, we need to do some geometry to reason about trigonometric inequalities.
Looking at the trigonometric inequalities interactive, we see that sin(h) is very close to
h for small values of h. Plugging this into the answers to problems 5 and 6 above, we see that, if f(x) is the distance a cannonball goes when launched at an angle x:
π 180
f(a+h) - f(a) ≈ -1.8 h2 sin(2a) + 1.8
π2 1802 h cos(2a)
π 180 ≈ -0.000548311 h2 sin(2a) + .0314159 h cos(2a)
This allows us to make sense of our discoveries in the Looking Closely at Change section. f(a+h) - f(a) is the change from one value of f to the next with a step of h, so this gives us the numbers we see in the "differences" column of the table.
When h is small, and cos(2a) isn't small, the first term of the sum is much smaller than the term on the right, so it only has a small effect on the differences. So the differences are very close to .0315159 h cos(2a). This is proportional to h (hence why dividing the step by 10 divided the differences by 10), and allows us to compute a specific value that these differences will all be very close to.
When h is small, but cos(2a) is 0 (i.e. a = 45), the second term of the sum is 0, so the differences are very close to -.000548311 h2 sin(2a). This is proportional to h2 (hence why dividing the step by 10 divided the differences by 100), and is very tiny.