Skip to content

OpenPhysics/DopplerEffect

Repository files navigation

Doppler Effect Simulation

An interactive simulation of the Doppler Effect built with SceneryStack. Explore how observed sound frequency shifts when source and observer move relative to each other.

Features

  • Drag the source and observer; live frequency shift and waveform displays
  • Preset scenarios for approach, recession, same-direction, and perpendicular motion
  • Adjustable emitted frequency and speed of sound
  • Keyboard controls (WASD / arrows), pause/resume, and motion trails
  • Velocity vectors, microphone listen mode, and numerical readouts
  • English and French UI, projector mode, and installable PWA

Quick Start

npm install
npm run icons    # generate PNG icons from public/icons/icon.svg
npm start        # dev server → http://localhost:5173

Scripts

Command Description
npm start / npm run dev Start Vite dev server
npm run build Type-check + production build → dist/
npm run preview Preview the production build locally
npm run check TypeScript type check
npm run lint Biome lint check
npm run format Auto-format all files
npm run fix Lint + auto-fix
npm run icons Regenerate PNG icons from public/icons/icon.svg
npm run clean Remove dist/

Tech Stack

Tool Version Purpose
SceneryStack ^3.0.0 Simulation framework
Vite ^8 Build tool + dev server
TypeScript ^6 Type-safe JavaScript
Biome ^2.5 Linting + formatting
vite-plugin-pwa ^1 PWA + service worker

License

GNU Affero General Public License v3.0 — see OpenPhysics org license.

Contributing

See OpenPhysics contributing guidelines. Report bugs via GitHub Issues; use org issue templates.

About

Interactive simulation of the Doppler Effect — visualizes how the frequency of sound waves shifts with relative motion between source and observer.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages