Real-time 3D particle physics simulator with Verlet integration, material database, and neon visualization.
Live Demo | Contributing Guide | Report Bug
- Real Physics Engine - Verlet integration with position-based dynamics, springs, damping
- Material Database - SI-unit properties (density, Young's modulus, Poisson's ratio) for architecture, semiconductors, biomechanics
- 40+ Preset Simulations - Tower, dome, bridge, pyramid, crystal lattice, DNA helix, and more
- GPU Auto-Detection - Quality presets (LOW/MEDIUM/HIGH) for iGPU compatibility
- Natural Language Input - Describe structures in plain text
- Neon Visualization - WebGL bloom effects, customizable particle colors and sizes
- i18n - Korean / English
- Community Contributions - Submit your own simulations via Pull Request
# Clone
git clone https://github.com/U2SY26/3d_particle_simulator.git
cd 3d_particle_simulator
# Install & run
npm install
npm start
# Open http://localhost:30003d_particle_simulator/
├── index.html # Single-page application
├── js/
│ ├── app.js # Entry point, UI controller
│ ├── PhysicsEngine.js # Verlet integration, forces, constraints
│ ├── ParticleSystem.js # Particle lifecycle management
│ ├── NeonRenderer.js # Three.js WebGL renderer with bloom
│ ├── ArchitectureGenerator.js # Procedural structure generation
│ ├── Materials.js # Material property database (SI units)
│ ├── SimulationManager.js # Preset simulation management
│ ├── XRController.js # WebXR support
│ └── i18n.js # Internationalization
├── css/style.css # Neon dark theme
├── server.js # Express.js dev server
└── e2e-test.mjs # Playwright E2E tests
- Integration: Verlet (position-based dynamics)
- Forces: Gravity, wind, temperature expansion, seismic activity
- Constraints: Distance constraints, spring-damper systems
- Materials: Real SI-unit properties per material category
| Category | Examples |
|---|---|
| Architecture | Tower, Bridge, Dome, Pyramid, Arch, Wall |
| Crystal | FCC, BCC, HCP, Diamond cubic |
| Biology | DNA helix, Protein fold, Cell membrane |
| Semiconductor | Silicon lattice, PN junction |
| Custom | Natural language description |
We welcome contributions from scientists, engineers, and developers!
- Fork this repository
- Create a branch:
git checkout -b sim/your-simulation-name - Add your simulation preset to
js/SimulationManager.js - Test locally:
npm startthennpm run test:e2e - Submit a Pull Request
See CONTRIBUTING.md for detailed guidelines.
- New Simulations - Physics presets, material models, structure generators
- Bug Fixes - Physics accuracy, rendering issues, compatibility
- Performance - GPU optimization, particle count scaling
- Documentation - Formulas, references, tutorials
| Technology | Purpose |
|---|---|
| Three.js | WebGL 3D rendering |
| Express.js | Development server |
| Playwright | E2E testing |
| Vercel | Deployment |
This project is developed by U2DIA (유투디아) - YUN AI Partner.
We build AI-powered tools for science, education, and engineering simulation.
If you find this simulator useful, please consider supporting its development:
| Platform | Link |
|---|---|
| GitHub Sponsors | |
| Buy Me a Coffee | |
| PayPal |
U2DIA (유투디아) is a Korean AI technology company specializing in:
- AI-powered scientific simulation tools
- Educational technology platforms
- 3D visualization and WebXR experiences
- Open-source physics engines
We believe science should be accessible to everyone. Our tools help students, researchers, and engineers visualize complex physical phenomena in real-time 3D.
MIT - Free for personal, educational, and commercial use.
Made with science by U2DIA
Particle physics, beautifully rendered.



