Skip to content

michaelsamjatin/wave-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wave Patterns

A real-time 3D visualization of wave interference patterns with video recording capability.

Chladni Sombrero

Wave Modes

Chladni Patterns (WAVE = "ch")

Four-source interference creating standing wave patterns:

$$z(x,y,t) = \frac{1}{4}\sum_{i=1}^{4} \sin\left(\frac{2\pi F}{60}\left(t - \frac{1}{V}\sqrt{(x-x_i)^2 + (y-y_i)^2}\right)\right)$$

Sources positioned at $(\pm 10, \pm 10)$.

Sombrero Mode (WAVE = "sm")

Radial wave using the Bessel-based sombrero function:

$$\text{sombrero}(\rho) = \frac{J_1(\rho)}{\rho}$$

where $\rho$ is modulated by distance and time.

Configuration

Parameter Description
WAVE "ch" (chladni) or "sm" (sombrero)
RECORD_VIDEO Enable frame export
GRID_SIZE Surface resolution
AMPLITUDE Height scaling
F, V Chladni frequency & elasticity
TILT_ANGLE Camera pitch (radians)

Recording

When RECORD_VIDEO = True, frames export to ./recordings/ as PNGs. The script calls create_video.sh on completion to compile the video.

Requirements

pygame
scipy
pillow

About

A visualizer for wave functions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors