A computational and pedagogical framework for projectile motion using Python visualizations
Leonardi Hernández Sánchez, Francisco Soto Eguibar, Irán Ramos Prieto, Héctor Manuel Moya Cessa
TL;DR
The paper addresses how to teach projectile motion by bridging analytic equations with conceptual understanding using Python-based visualizations. It integrates analytical expressions for key observables, such as $x_h = \frac{v_0^2 \sin(2\theta)}{g}$ and $y_v = \frac{v_0^2 \sin^2(\theta)}{2g}$, with reproducible simulations that produce trajectory plots, parameter-space maps, and iso-curves. Its main contributions are a cohesive computational pedagogical framework, demonstration of angular symmetry in range, and a parameter-space approach that links individual trajectories to global outcomes, all within open-source Python code. This framework facilitates active learning in undergraduate mechanics and is easily adaptable to related contexts like sports, engineering, and computer graphics, while offering avenues to incorporate more complex effects such as air resistance.
Abstract
Projectile motion is one of the most fundamental problems in introductory physics, offering a clear context to connect algebraic reasoning with conceptual understanding. This work presents a computational and pedagogical framework that combines the analytical formulation of projectile motion with interactive visualizations developed in Python. Using reproducible simulations, the dependence of the maximum height and horizontal range on the launch parameters $(v_0,θ)$ is examined through trajectory plots, parameter-space maps, and iso-curves. These visual representations reveal non-trivial combinations of initial conditions that yield equivalent outcomes, reinforcing physical intuition and providing an accessible open-source tool for teaching and learning classical mechanics.
