https://github.com/emineugurlu/double-slit-simulation
An interactive Quantum Physics simulation exploring wave-particle duality and tunneling. Features real-time Schrödinger equation solvers, HTML5 Canvas rendering, and interference pattern analysis. Optimized for physics education.
https://github.com/emineugurlu/double-slit-simulation
computer-engineering educational-tool html5-canvas javascript physics-simulation quantum-mechanics quantum-physics schrodinger-equation wave-particle-duality
Last synced: 4 days ago
JSON representation
An interactive Quantum Physics simulation exploring wave-particle duality and tunneling. Features real-time Schrödinger equation solvers, HTML5 Canvas rendering, and interference pattern analysis. Optimized for physics education.
- Host: GitHub
- URL: https://github.com/emineugurlu/double-slit-simulation
- Owner: emineugurlu
- Created: 2026-03-18T13:06:18.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-01T08:41:21.000Z (18 days ago)
- Last Synced: 2026-06-01T10:22:50.831Z (18 days ago)
- Topics: computer-engineering, educational-tool, html5-canvas, javascript, physics-simulation, quantum-mechanics, quantum-physics, schrodinger-equation, wave-particle-duality
- Language: JavaScript
- Homepage:
- Size: 104 KB
- Stars: 10
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ⚛️ Quantum Physics Visualizer: Wave-Particle Duality & Tunneling
> **"A high-fidelity computational physics simulation designed to visualize the fundamental paradoxes of quantum mechanics. Built with Vanilla JavaScript and HTML5 Canvas, this engine solves the time-dependent Schrödinger equation in real-time to demonstrate wave-particle duality and quantum tunneling."**




**Quantum Physics Visualizer** is a high-performance simulation ecosystem designed to bridge the gap between abstract quantum mathematics and visual intuition. Developed by **Emine Uğurlu**, this platform models complex phenomena such as wave function collapse and quantum tunneling within a browser-based environment in real-time.
---
## 🚀 Engineering & Physics Excellence
This project showcases advanced computational physics and an optimized visualization architecture:
* **Schrödinger Equation Integration:** The core engine is built upon a numerical solver for the **Time-Dependent Schrödinger Equation (TDSE)**:
$$\imath \hbar \frac{\partial}{\partial t} \Psi(x,t) = \left[ -\frac{\hbar^2}{2m} \frac{\partial^2}{\partial x^2} + V(x,t) \right] \Psi(x,t)$$
* **Wave Function ($\Psi$) Simulation:** Real-time tracking of complex-valued probability amplitudes ($\Psi = A + iB$) and rendering of interference patterns using the $I(y) = |\psi_1 + \psi_2|^2$ formulation.
* **Numerical Finite Difference Solver:** Optimized explicit finite difference algorithms to simulate the interaction of wave packets with potential barriers $V(x)$.
* **Decoherence Modeling:** Implementation of the "Observer Effect" algorithm, demonstrating how the act of measurement collapses the wave function into classical particle behavior.
* **High-Performance Rendering:** Direct pixel manipulation on **HTML5 Canvas** for a fluid simulation experience with a low-latency computational loop.
## ✨ Core Features
* 🔬 **Interactive Double-Slit:** Dynamically control detectors to witness the transition from wave interference to particle bands (Wave Function Collapse).
* ⚡ **Quantum Tunneling:** Visualize a Gaussian wave packet penetrating classically impassable potential barriers through quantum tunneling ($T \approx e^{-2\kappa L}$).
* 🌊 **Wave Function Visualization:** Analyze $\Psi$ amplitudes and phase differences representing the wave-like nature of matter through high-resolution graphics.
* 📈 **Mathematical Transparency:** Dynamic data visualizations of probability density ($| \Psi |^2$) and energy levels that update in real-time during the simulation.
## 📸 Simulation Showcase
---
## 🛠️ Tech Stack
* **Language:** Vanilla JavaScript (ES6+).
* **Rendering:** HTML5 Canvas API.
* **Physics Engine:** Numerical Finite Difference Methods.
* **Styling:** CSS3 (Modern Flexbox/Grid).
---
## ⚙️ Quick Start
1. **Clone the Repository:**
```bash
git clone https://github.com/emineugurlu/double-slit-simulation
cd double-slit-simulation
````
2 **Run the Project:**
Simply open `index.html` in any modern web browser. Alternatively, access the live demo here: [Live Demo](https://emineugurlu.github.io/double-slit-simulation/)
Developed by Emine Uğurlu - Computer Engineer - Visualizing the invisible through the power of code.