AK51's picture
Update README.md
a07febe verified
---
title: Electron Cloud Visualizer
emoji: ⚛️
colorFrom: blue
colorTo: purple
sdk: static
pinned: false
license: mit
---
# Electron Cloud Visualizer
An interactive 3D visualization tool for exploring atomic electron orbitals and electron clouds using quantum mechanics principles.
Introduction Video: https://youtu.be/lwqq6FTS6bQ
![Electron Cloud Visualizer](main.png)
## Features
- **Interactive 3D Visualization**: Explore electron orbitals in real-time with mouse controls
- **All Elements**: Visualize electron configurations for all 118 elements
- **Individual Orbital Control**: Toggle visibility and customize colors for each orbital (s, p, d, f)
- **Quantum Mechanics Accurate**: Uses real wave functions and CDF sampling for accurate probability distributions
- **Progressive Loading**: Smooth rendering with progressive particle generation
- **Advanced Controls**:
- Particle count adjustment (5,000 - 1,000,000 particles)
- Particle size and opacity controls
- Atom scaling
- Animation with adjustable speed
- Color hue gradient with adjustable intensity
- Multi-axis clipping planes for cross-sectional views
- Coordinate axes display
- Auto-rotation with axis selection
- Individual orbital color customization
## Demo
Open `index.html` in a modern web browser to start exploring electron orbitals.
## Usage
1. **Select an Element**: Use the "Atomic Number" slider and click "Update Element"
2. **Choose Orbitals**: Expand orbital shells in the "Orbital Selection" panel to show/hide specific orbitals
3. **Customize Colors**: Click on color folders to customize individual orbital colors
4. **Adjust Display**: Modify particle count, size, opacity, and scale in "Display Options"
5. **Camera Controls**:
- Left mouse: Rotate view
- Right mouse: Pan
- Scroll: Zoom
- Use "Auto Rotate" for automatic rotation
## Technical Details
### Quantum Mechanics Implementation
- Uses hydrogen-like wave functions with Z=1 for accurate orbital shapes
- Implements real spherical harmonics for proper orbital orientation
- CDF (Cumulative Distribution Function) sampling for probability-based particle distribution
- Radial probability function: r² × |R(n,l,r)|²
### Technology Stack
- **Three.js r128**: 3D rendering and visualization
- **lil-gui**: User interface controls
- **Vanilla JavaScript**: No build tools required
- **WebGL**: Hardware-accelerated graphics
### Project Structure
```
electron-cloud-visualizer/
├── index.html # Main HTML file
├── styles.css # Styling
├── js/
│ ├── constants.js # Physical and mathematical constants
│ ├── math-utils.js # Mathematical utilities and spherical harmonics
│ ├── quantum-mechanics.js # Wave function calculations
│ ├── particle-sampler.js # CDF-based particle generation
│ ├── electron-configuration.js # Electron configuration system
│ ├── visualization-renderer.js # Three.js rendering
│ ├── gui-controller.js # User interface controls
│ ├── app-controller.js # Application coordination
│ └── main.js # Entry point
└── README.md
```
## Browser Compatibility
Requires a modern browser with WebGL support:
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
## Performance
- Default particle count: 100,000
- Maximum particle count: 1,000,000
- GPU acceleration via WebGL
- Progressive loading for smooth user experience
- Optimized for high atomic numbers
## Credits
Created by **Andy Kong**
## License
MIT License - See LICENSE file for details
## Acknowledgments
- Inspired by [Kavan Ghaderpour's Atom Visualizer](https://www.kavang.com/atom)
- Quantum mechanics principles from standard atomic physics textbooks
- Three.js community for excellent 3D rendering library