An orbit is simply falling around a planet so fast that you keep missing it!
The Cannonball Thought Experiment
Isaac Newton imagined firing a cannon from a very tall mountain: - Fire slowly → the ball falls back to Earth - Fire faster → the ball travels farther before falling - Fire fast enough → the ball falls around the Earth - Fire even faster → escape into space!
This “falling around” is what creates weightlessness - you’re always falling, but always missing!
Code
import numpy as npimport matplotlib.pyplot as pltplt.style.use('dark_background')# Physical constantsG =6.674e-11# Gravitational constant (m³/kg/s²)M_EARTH =5.972e24# Earth's mass (kg)R_EARTH =6.371e6# Earth's radius (m)MU_EARTH = G * M_EARTH # Earth's gravitational parameterprint("✅ Ready to explore orbits!")
✅ Ready to explore orbits!
2. Circular Orbits: The Simplest Case
For a circular orbit, the satellite’s velocity must exactly balance gravity.
Where: - v = orbital velocity (m/s) - μ = GM = gravitational parameter (3.986 × 10¹⁴ m³/s² for Earth) - r = distance from Earth’s center (not altitude!)
Key Insight 💡
Lower orbits → faster velocity
Higher orbits → slower velocity
The ISS at 400 km travels at 7.66 km/s (27,600 km/h)!
Code
def orbital_velocity(altitude_km):"""Calculate circular orbital velocity at a given altitude.""" r = R_EARTH + (altitude_km *1000) # Convert to meters v = np.sqrt(MU_EARTH / r)return vdef orbital_period(altitude_km):"""Calculate orbital period at a given altitude.""" r = R_EARTH + (altitude_km *1000) T =2* np.pi * np.sqrt(r**3/ MU_EARTH)return T# Famous orbitsorbits = [ ("ISS", 400), ("Hubble Space Telescope", 547), ("Starlink satellites", 550), ("GPS satellites", 20200), ("Geostationary (GEO)", 35786),]print("🛰️ ORBITAL VELOCITIES AND PERIODS")print("="*65)print(f"{'Satellite/Orbit':<25}{'Altitude':>10}{'Velocity':>12}{'Period':>12}")print("-"*65)for name, alt in orbits: v = orbital_velocity(alt) T = orbital_period(alt) hours = T /3600print(f"{name:<25}{alt:>8} km {v/1000:>8.2f} km/s {hours:>8.1f} hrs")print("-"*65)print("\n💡 Notice: Higher altitude = slower speed, but longer period!")
🛰️ ORBITAL VELOCITIES AND PERIODS
=================================================================
Satellite/Orbit Altitude Velocity Period
-----------------------------------------------------------------
ISS 400 km 7.67 km/s 1.5 hrs
Hubble Space Telescope 547 km 7.59 km/s 1.6 hrs
Starlink satellites 550 km 7.59 km/s 1.6 hrs
GPS satellites 20200 km 3.87 km/s 12.0 hrs
Geostationary (GEO) 35786 km 3.07 km/s 23.9 hrs
-----------------------------------------------------------------
💡 Notice: Higher altitude = slower speed, but longer period!
3. Types of Orbits
Orbit Type
Altitude
Use Case
LEO
200-2000 km
ISS, Starlink, Earth observation
MEO
2000-35786 km
GPS, navigation satellites
GEO
35,786 km
TV broadcast, weather satellites
HEO
Varies
Spy satellites, Molniya orbits
Geostationary Orbit (GEO)
At exactly 35,786 km, a satellite orbits once per day - staying fixed over one spot on Earth!
Code
# Visualize different orbitsfig, ax = plt.subplots(figsize=(10, 10))# Draw Earththeta = np.linspace(0, 2*np.pi, 100)earth_x = R_EARTH * np.cos(theta) /1e6earth_y = R_EARTH * np.sin(theta) /1e6ax.fill(earth_x, earth_y, color='#4a90e2', alpha=0.8, label='Earth')# Draw orbitsorbit_data = [ ("LEO (400 km)", 400, '#00ff00'), ("MEO (20,000 km)", 20000, '#ffaa00'), ("GEO (35,786 km)", 35786, '#ff4444'),]for name, alt, color in orbit_data: r = (R_EARTH + alt *1000) /1e6# Convert to thousands of km orbit_x = r * np.cos(theta) orbit_y = r * np.sin(theta) ax.plot(orbit_x, orbit_y, color=color, linewidth=2, label=name)ax.set_xlim(-50, 50)ax.set_ylim(-50, 50)ax.set_aspect('equal')ax.legend(loc='upper right')ax.set_xlabel('Distance (thousands of km)')ax.set_ylabel('Distance (thousands of km)')ax.set_title('🌍 Earth Orbit Comparison', color='#00d4ff', fontsize=14)ax.grid(True, alpha=0.2)plt.tight_layout()plt.show()print("Notice how GEO is MUCH farther out than LEO!")
Notice how GEO is MUCH farther out than LEO!
🎓 Key Takeaways
Orbits are controlled falling - Moving sideways fast enough to keep missing Earth
v = √(μ/r) - Orbital velocity depends on altitude
Lower = faster - ISS at 400km: 7.66 km/s, GPS at 20,000km: 3.87 km/s
GEO is special - At 35,786 km, satellites appear stationary in the sky
Period increases with altitude - LEO: ~90 min, GEO: 24 hours
🚀 Try the Projects!
Now that you understand the basics, run the interactive simulators: - Projects/Rocket_Ascent_Simulator/ - Watch a rocket reach orbit - Projects/Conic_Orbit_Visualizer/ - Explore different orbit shapes
“For all its material advantages, the sedentary life has left us edgy, unfulfilled. Even after 400 generations in villages and cities, we haven’t forgotten. The open road still softly calls.” — Carl Sagan