Saturday, April 18, 2009

Parabolas and Projectile Motion

Inspired by the projectile motion installment of What Can You Do With This? and astounded by the amazing follow up work of David Cox and his students, I decided to write a program that models the parabolic path of a ball thrown at various angles with different initial velocities.

In addition to varying the angle and velocity of the launch, students can change the starting height of the ball as well as the x and y position of the can. The program traces the path of the ball from its starting position to a location somewhere to the left of the vertex. This is determined by the time it takes to complete the path and varies slightly for each unique set of parameters. During the trace, the position of the ball is recorded and displayed in the data box. The trace then pauses and the question is posed: Will the ball land in the can?

Students can use the data to find the equation of the parabola by setting up simultaneous equations. Once the equation is derived, they can use it to determine the height of the ball at x values that correspond to the beginning, center, and end positions of the can. That should be sufficient for most cases. After the students make a prediction, pressing the continue button will allow the ball to complete its journey.

The program isn't quite perfect yet. The scale leads to very small values for the a coefficient. Determining a hit when the ball's path brings it to either of the can's two dimensional edges can be prone to error. And there may be other bugs I haven't yet discovered.

The flash file is live. Please use it with your students if you can. If you have suggestions for additional features or improvements, let me know. I'm not sure how much further development there will be but a significantly compelling idea might just be all the motivation that's needed.

6 comments:

Dan Meyer said...

So sharp. SO sharp. Really nice work here. Is this what they call ActionScript?

colleenk said...

Thanks, Dan. Yep, this is ActionScript. Took a long time to learn it but now that I have, the sky's the limit. It's an incredibly powerful programming language. High fun factor, too.

Jackie Ballarini said...

Nice. I'm bookmarking this for the projectile motion lessons next year.

Thank you!

colleenk said...

That's great! I'm glad you can use it. If you ever have one of those, "I wish it could...." moments, please let me know. It's a work in progress.

David Cox said...

This is awesome. Thanks for taking the time to write and post this!

colleenk said...

I'm truly in awe of what your students have done. Looking forward to reading your other posts. Thanks for the inspiration.