Tag Archives: projectile motion

When can we neglect air resistance?

This was supposed to be the shortest part of a warm up activity. It turned into a long discussion that revealed a lot of student misunderstandings.

The question was about whether we could ignore air resistance on a textbook being thrown in the air. We spent most of our time discussing the differences and similarities between the three items here:
IMG_0650

There were interesting comments about what factors influence the magnitude of air resistance. I was definitely leading the conversation, but it wasn't until a student mentioned acceleration that anyone was able to precisely explain why one fell differently from another. We eventually settled on making a comparison between gravity force and air resistance force and calculating acceleration to see how close it was to the acceleration of gravity.

Projectile Motion with Python, Desmos, and Monte Carlo Simulation

I've written about my backwards approach to to projectile motion previously here, here, and here.

I had students solving the warm-up problem to that first lesson, which goes like this:

A student is at one end of a basketball court. He wants to throw a basketball into the hoop at the opposite end.

What information do you need to model this situation using the Geogebra model? Write down [______] = on your paper for any values you need to know to solve it using the model, and Mr. Weinberg will give you any information he has.
Find a possible model in Geogebra that works for solving this problem.
At what minimum speed he could throw the ball in order to get the ball into the hoop?

The students did what they usually do with the Geogebra projectile motion model and solved it with some interesting methods. One student lowered the hoop to the floor. Another started with a 45 degree angle, and then increased the speed successively until the ball made it into the hoop. Good stuff.

A student's comment about making lots of guesses here got me thinking about finding solutions more algorithmically. I've been looking for new ways to play around with genetic algorithms and Monte Carlo methods since they are essentially guess and check procedures made productive by the power of the computer.

I wrote a Python program that does the following:

  • Get information about the initial characteristics of the projectile and the desired final location.
  • Make a large number of projectiles (guesses) with random values for angle and initial speed within a specified range.
  • Calculate the ending position of all of the projectiles. Sort them by how far they end up compared to the desired target.
  • Take the twenty projectiles with the least error, and use these values to define the initial values for a new, large number of projectiles.
  • Repeat until the error doesn't change much between runs.
  • Report the projectile at the end with the least error.
  • Report the entire procedure a number of times to see how consistent the 'best' answer is.

I've posted the code for this here at Github.

As a final step, I have this program outputting commands to graph the resulting projectile paths on Desmos. Pasting the result into the console while a Desmos calculator open, makes a nice graph for each of the generated projectiles and their intersecting at the desired target:
Screen Shot 2015-02-14 at 11.12.03 AM

This is also on a live Desmos page here.

This shows that there is a range of possible answers, which is something I told my physics class based on their own solutions to the problem. Having a way to show (rather than tell) is always the better option.

I also like that I can change the nature of the answers I get if I adjust the way answers are sorted. This line in the code chooses how the projectile guesses are sorted by minimizing error:

self.ordered = self.array.sort(key=lambda x: abs(x.error))

If I change this to instead sort by the sum of error and the initial speed of the projectile, I get answers that are much closer to each other, and to the minimum speed necessary to hit the target:

Screen Shot 2015-02-14 at 11.19.01 AM

Fun stuff all around.

Computational modeling & projectile motion, EPISODE IV

I've always wondered how I might assess student understanding of projectile motion separately from the algebra. I've tried in the past to do this, but since my presentation always started with algebra, it was really hard to separate the two. In my last three posts about this, I've detailed my computational approach this time. A review:

    • We used Tracker to manually follow a ball tossed in the air. It generated graphs of position vs. time for both x and y components of position. We recognized these models as constant velocity (horizontal) and constant acceleration particle models (vertical).
    • We matched graphical models to a given projectile motion problem and visually identified solutions. We saw the limitations of this method - a major one being the difficulty finding the final answer accurately from a graph. This included a standards quiz on adapting a Geogebra model to solve a traditional projectile motion problem.
    • We looked at how to create a table of values using the algebraic models. We identified key points in the motion of the projectile (maximum height, range of the projectile) directly from the tables or graphs of position and velocity versus time. This was followed with the following assessment
    • We looked at using goal seek in the spreadsheet to find these values more accurately than was possible from reading the tables.

After this, I gave a quiz to assess their abilities - the same set of questions, but asked first using a table...
Screen Shot 2013-03-08 at 6.55.40 PM
... and then using a graph:
Screen Shot 2013-03-08 at 6.57.23 PM

The following data describes a can of soup thrown from a window of a building.

  • How long is the can in the air?
  • What is the maximum height of the can?
  • How high above the ground is the window?
  • Is the can thrown horizontally? Explain your answer.
  • How far from the base of the building does the can hit the ground?
  • What is the speed of the can just before it hits the ground?</li

I was really happy with the results class wide. They really understood what they were looking at and answered the questions correctly. They have also been pretty good at using goal seek to find these values fairly easily.

I did a lesson that last day on solving the problems algebraically. It felt really strange going through the process - students already knew how to set up a problem solution in the spreadsheet, and there really wasn't much that we gained from obtaining an algebraic solution by hand, at least in my presentation. Admittedly, I could have swung too far in the opposite direction selling the computational methods and not enough driving the need for algebra.

The real need for algebra, however, comes from exploring general cases and identifying the existence of solutions to a problem. I realized that these really deep questions are not typical of high school physics treatments of projectile motion. This is part of the reason physics gets the reputation of a subject full of 'plug and chug' problems and equations that need to be memorized - there aren't enough problems that demand students match their understanding of how the equations describe real objects that move around to actual objects that are moving around.

I'm not giving a unit assessment this time - the students are demonstrating their proficiency at the standards for this unit by answering the questions in this handout:
Projectile Motion - Assessment Questions

These are problems that are not pulled directly out of the textbook - they all require the students to figure out what information they need for building and adapting their computer models to solve them. Today they got to work going outside, making measurements, and helping each other start the modeling process. This is the sort of problem solving I've always wanted students to see as a natural application of learning, but it has never happened so easily as it did today. I will have to see how it turns out, of course, when they submit their responses, but I am really looking forward to getting a chance to do so.

A computational approach to modeling projectile motion, part 3.

I've been really excited about how this progression is going with my physics class - today the information really started to click, and I think they are seeing the power of letting the computer do the work.

Here's what we did last time:

In a fit of rage, Mr. Weinberg throws a Physics textbook while standing in the sand box outside the classroom. By coincidence, the book enters the classroom window exactly when it reaches its maximum height and starts to fall back down.


  • Is it appropriate to neglect air resistance in analyzing this situation? Justify your answer.
  • We want to use this problem to estimate the height of the classroom window above the ground. Identify any measurements you would take in order to solve this problem. (No, you may not measure the height of the classroom window above the ground.)
  • Use your spreadsheet to find the height of the window as accurately as you can.

Note: This activity got the students using the spreadsheet they put together last time to figure out the maximum height of the object. They immediately recognized that they needed some combination of dimensions, an angle, and a launch speed of the book.


These tables of values are easy to read, but we want to come up with a more efficient way to get the information we need to solve a problem.

The table below represents a particular projectile. Identify as much about its movement as you can. How high does it go? How far does it go? When does it get there? That's the kind of thing we're interested in here.

Screen Shot 2013-03-04 at 5.02.17 PM

Note that at this point the students are spending time staring at tables of equations. This is clearly not an efficient way to solve a problem, but it's one that they understand, even the weakest students. They can estimate the maximum height by looking at the table of y-values, but the tedium of doing so is annoying, and this is what I want. I try to model this table of values with the spreadsheet they put together with them telling me what to do. Every time I change a value for initial speed or initial height, the location of the maximum changes. It's never in the same place.

Eventually, someone notices the key to finding the maximum isn't with the y-position function. It's with the vertical velocity. When does the y-component equal zero?

This is where the true power of doing this on the spreadsheet comes alive. We look at the table of values, but quickly see that we don't need a whole table. We go from this:
Screen Shot 2013-03-04 at 5.18.48 PM

...to this:
Screen Shot 2013-03-04 at 5.20.52 PM

Clearly this t-value is wrong. Students can adjust the value of the time in that cell until the velocity in the cell below is zero. A weak student will get how to do this - they are involved in the process. The tedium of doing this will prompt the question - is there a better way? Is this when we finally switch to an algebraic approach? No, not yet. This is where we introduce the Goal Seek tool.

Screen Shot 2013-03-04 at 5.23.12 PM

The spreadsheet will do the adjustment process for us and find the answer we are looking for. With this answer in hand, we can then move on to posing other questions, and using goal seek to find the values we are looking for.

The process of answering a projectile motion question (how far does it go? how high does it go?) through a spreadsheet then becomes a process of posing the right questions:
Screen Shot 2013-03-04 at 5.26.42 PM

This is the type of reasoning we want the students to understand within the projectile motion model. Whether your tool of choice for answering these questions is the graph, equations, or a table of values, posing these questions is the meat and potatoes of this entire unit in my opinion.

The next step is to then introduce algebraic manipulation as an even more general way to answer these questions, including in cases where we don't have numbers, but are seeking general expressions.


Today I had a student answer the following questions using the goal seek method with the numerical models I've described above:

A ball is thrown horizontally from a window at 5 m/s. It lands on the ground 2.5 seconds later. How far does the ball travel before hitting the ground? How high is the window?

He solved it before anyone else. This is a student that has struggled to do any sort of algebraic manipulation all year. There's something to this, folks. This is the opening to the fourth class of this unit, and we are now solving the same level questions as the non-AP students did a year ago with an algebraic approach and roughly the same amount of instruction time. Some things to keep in mind:

  • My students are consistently using units in all of their answers. It is always like pulling teeth trying to get them to include units - not so much at the moment.
  • They are spending their time figuring out the right questions to ask, not which equation to 'plug' into to get an answer.
  • They immediately see what information is missing in their model at the beginning of a problem. They read the questions carefully to see what they need.
  • The table of values gives them an estimate they can use for the problem. They have an idea of what the number should be from the table, and then goal seek improves the accuracy of the number.
  • At the end of the problem, students have all of the initial information filled out to describe all of the parts of the problem. They can check that the horizontal range, maximum height, and other waypoints of the path match the given constraints of the problem. This step of checking the answer is a built-in feature to the process of matching a model - not an extra step that I have to demand at the end. If it doesn't match all of the given constraints, it is obvious.

I am looking for push back - is there anything I am missing in this approach? I get that deriving formulas is not going to come easily this way, but I think with a computer algebra system, it's not far away.

A computational approach to modeling projectile motion, continued.

Here is the activity I am looking at for tomorrow in Physics. The focus is on applying the ideas of projectile motion (constant velocity model in x, constant acceleration model in y) to a numerical model, and using that model to answer a question. In my last post, I detailed how I showed my students how to use a Geogebra model to solve projectile motion.

Let me know what I'm missing, or if something offends you.


A student is at one end of a basketball court. He wants to throw a basketball into the hoop at the opposite end.

  • What information do you need to model this situation using the Geogebra model? Write down [______] = on your paper for any values you need to know to solve it using the model, and Mr. Weinberg will give you any information he has.
  • Find a possible model in Geogebra that works for solving this problem.
  • At what minimum speed he could throw the ball in order to get the ball into the hoop?

We are going to start the process today of constructing our model for projectile motion in the absence of air resistance. We discussed the following in the last class:

  • Velocity is constant in the horizontal direction. (Constant velocity model)
  • x(t) = x_{0} + v t

  • Acceleration is constant in the vertical direction (Constant acceleration model)
  • v(t) = v_{0} + a t
    x(t)=x_{0}+v t +frac{1}{2}a t^2

  • The magnitude of the acceleration is the acceleration due to gravity. The direction is downwards.

Consider the following situation of a ball rolling off of a 10.0 meter high platform. We are neglecting air resistance in order for our models to work.
Screen Shot 2013-02-25 at 6.15.15 PM

Some questions:

  • At what point will the ball's movement follow the models we described above?
  • Let's set x=0 and y = 0 at the point at the bottom of the platform. What will be the y coordinate of the ball when the ball hits the ground? What are the components of velocity at the moment the ball becomes a projectile?
  • How long do you think it will take for the ball to hit the ground? Make a guess that is too high, and a guess that is too low. Use units in your answer.
  • How far do you think the ball will travel horizontally before it hits the ground? Again, make high and low guesses.

Let's model this information in a spreadsheet. The table of values is nothing more than repeated calculations of the algebraic models from the previous page. You will construct this yourself in a bit. NBD.
Screen Shot 2013-02-25 at 6.39.23 PM

  • Estimate the time when the ball hits the ground. What information from the table did you use?
  • Find the maximum horizontal distance the ball travels before hitting the ground.

Here are the four sets of position/velocity graphs for the above situation. I'll let you figure out which is which. Confirm your answer from above using the graphs. Let me know if any of your numbers change after looking at the graphs.

Screen Shot 2013-02-25 at 6.42.35 PM

Now I want you to recreate my template. Work to follow the guidelines for description and labels as I have in mine. All the tables should use the information in the top rows of the table to make all calculations.

Once your table is generating the values above, use your table to find the maximum height, the total time in the air, and the distance in the x-direction for a soccer ball kicked from the ground at 30° above the horizontal.

I'll be circulating to help you get there, but I'm not giving you my spreadsheet. You can piece this together using what you know.


Next steps (not for this lesson):

  • The table of values really isn't necessary - it's more for us to get our bearings. A single cell can hold the algebraic model and calculate position/velocity from a single value for time. Goal seek is our friend for getting better solutions here.
  • With goal seek, we are really solving an equation. We can see how the equation comes from the model itself when we ask for one value under different conditions. The usefulness of the equation is that we CAN get a more exact solution and perhaps have a more general solution, but this last part is a hazy one. So far, our computer solution works for many cases.

My point is motivating the algebra as a more efficient way to solve certain kinds of problems, but not all of them. I think there needs to be more on the 'demand' side of choosing an algebraic approach. Tradition is not a satisfying reason to choose one, though there are many - providing a need for algebra, and then feeding that need seems more natural than starting from algebra for a more arbitrary reason.

From projectile motion to orbits using Geogebra

I was inspired last night while watching the launch of the Mars Science Laboratory that instead of doing banked curve problems (which are cool, but take a considerable investment of algebra to get into) we would move on to investigating gravity.

The thing that took me a long time to wrap my head around when I first studied physics in high school was how a projectile really could end up orbiting the Earth. The famous Newton drawing of the cannon with successively higher launch velocities made sense. I just couldn't picture what the transition looked like. Parabolas and circles (and ellipses for that matter) are fundamentally different shapes, and at the time the fact that they were all conic sections was too abstract of a concept for me. Eventually I just accepted that if you shoot a projectile fast enough tangentially to the surface of the Earth, it would never land, but I wanted to see it.

Fast forward to this afternoon and my old friend Geogebra. There had to be a way to give my physics students a chance to play with this and perhaps discover the concept of orbits without my telling them about it first.

You can download the sketch I put together here.

The images below are the sorts of things I am hoping my students will figure out tomorrow. From projectile motion:

...to the idea that it is still projectile motion when viewed along with the curvature of the planet:

Continuing to adjust the values yields interesting results that suggest the possibility of how an object might orbit the Earth.


If you open the file, you can look at the spreadsheet view to see how this was put together. This uses Newton's Law of Gravitation and Euler's method to calculate the trajectory.You can also change values of the variable deltat to predict movement of the projectile over longer time intervals. There is no meaning to the values of m, v0, or height - thankfully the laws of nature don't care about units.

As is always the case, feel free to use and adjust this, as well as make it better. My only request - let me know what you do with it!