An open API service indexing awesome lists of open source software.

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.

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."**

![Language](https://img.shields.io/badge/Language-JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)
![Platform](https://img.shields.io/badge/Platform-Web--HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white)
![Domain](https://img.shields.io/badge/Domain-Quantum%20Mechanics-blueviolet?style=for-the-badge)
![Status](https://img.shields.io/badge/Status-Active-success?style=for-the-badge)

**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


Double Slit Experiment
Quantum Tunneling



Schrödinger's Equation Solver
Wave Interference

---

## 🛠️ 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.