Projectile motion and Python visualization visual.

Physics resource

Projectile motion with Python.

This public example shows the style of future SEO resources: a clear result, selected code and enough explanation to be useful without exposing full private lesson material.

Model

For ideal projectile motion without air resistance, horizontal velocity is constant and vertical motion has constant acceleration.

x(t) = v0 cos(theta) t
y(t) = v0 sin(theta) t - 1/2 g t^2

The public result can show the trajectory and range. A private student version can include derivations, parameter studies, homework variants and notebook files.

Python preview

import numpy as np
import matplotlib.pyplot as plt

g = 9.81
v0 = 20
theta = np.deg2rad(35)
t = np.linspace(0, 2 * v0 * np.sin(theta) / g, 200)
x = v0 * np.cos(theta) * t
y = v0 * np.sin(theta) * t - 0.5 * g * t**2

plt.plot(x, y)
plt.xlabel("x / m")
plt.ylabel("y / m")
plt.grid(True)
plt.show()

Common mistakes

  • Mixing degrees and radians in Python.
  • Using the same equation for horizontal and vertical acceleration.
  • Forgetting that the final time depends on the vertical motion.

Private extension

Approved students can receive the full derivation, practice tasks, extended notebooks, air-resistance variants and solution walkthroughs.