DAMPED OSCILLATION DEMONSTRATION
================================
OVERVIEW:
This program generates a video demonstration of damped oscillation, showing both
the physical motion of a mass-spring system and the mathematical representation
of the oscillation over time.
PHYSICAL SYSTEM:
A mass attached to a spring experiences oscillatory motion
Due to friction/resistance, the amplitude decreases exponentially over time
The system gradually loses energy and eventually comes to rest
MATHEMATICAL MODEL:
The position as a function of time is given by:
x(t) = A₀ × e^(-γt) × cos(ωt)
Where:
A₀ = Initial amplitude (3.0 m)
γ = Damping coefficient (0.3 s⁻¹)
ω = Angular frequency (2π rad/s, corresponding to 1 Hz)
t = Time
KEY FEATURES DEMONSTRATED:
1. OSCILLATORY MOTION:
The mass oscillates back and forth around equilibrium position
Frequency remains approximately constant despite damping
2. EXPONENTIAL DECAY:
The amplitude decreases exponentially with time constant τ = 1/γ
Red dashed lines show the exponential envelope
Energy decays as e^(-2γt)
3. ENERGY LOSS:
Total mechanical energy decreases continuously
Energy loss rate depends on damping coefficient
System approaches equilibrium asymptotically
4. VISUAL ELEMENTS:
Upper panel: Animated mass-spring system
Lower panel: Position vs time graph with real-time plotting
Information display showing current values
Spring compression/extension visualization
PARAMETERS USED:
Initial amplitude: 3.0 m
Damping coefficient: 0.3 s⁻¹
Natural frequency: 1.0 Hz
Simulation duration: 8.0 seconds
Video duration: 10.0 seconds at 30 fps
APPLICATIONS:
Damped oscillation appears in many physical systems:
Mechanical springs with friction
RLC electrical circuits
Pendulums in air resistance
Shock absorbers in vehicles
Seismic dampers in buildings
FILES GENERATED:
1. damped_oscillation_demo.mp4 - Main animation video
2. damped_oscillation_analysis.png - Static analysis plots
3. damped_oscillation_explanation.txt - This explanation file
REQUIREMENTS:
Python 3.x
NumPy
Matplotlib
FFmpeg (for MP4 export)
To run the program, execute:
python damped_oscillation_video.py
The program will generate the video file and save it in the current directory.