This repository showcases a diverse range of captivating simulations, all built using the powerful p5.js library.
This collection features interactive simulations covering a wide array of fascinating topics. Each simulation is meticulously crafted to provide an engaging and immersive experience.
The inspiration for many of these simulations comes from the brilliant work of Daniel Shiffman and his incredible YouTube channel, The Coding Train. Through his tutorials and creative coding projects, Daniel has inspired countless developers and artists to explore the exciting world of coding.
Here are a few examples of the simulations you can find in this repository:
Random walkers | Random walkers with Perlin noise | Deposition of thin films |
Cannonball shooting | Applying forces to a ball with mass | Wheel of fortune |
Sound wave | Standing wave | Harmonic oscillator | Damped harmonic oscillator |
Solar system | Jupiter system | Exoplanet Exploration |
Collision | Brownian motion | Fluid dynamics |
Multiple gravitational attractors | Gravitational attraction | Mutual gravitational attraction |
Feel free to explore these examples and more in the repository! To run a simulation locally, follow these steps:
- Clone this repository to your local machine:
git clone https://github.com/vislupus/p5-simulations.git
-
Navigate to the specific simulation you are interested in.
-
Open the corresponding HTML file in your web browser.
We welcome contributions from the community to enhance this collection of simulations. If you have an idea for a new simulation or an improvement to an existing one, please feel free to submit a pull request. Together, we can make this repository an even richer resource for learning and creativity.
This repository is licensed under the MIT License. You are free to use the code and adapt it for your own projects.
We would like to express our gratitude to Daniel Shiffman for his invaluable contributions to the coding community and for inspiring the simulations in this repository. Additionally, we would like to thank the p5.js community for their continuous support and the developers behind the p5.js library for providing such a powerful and accessible tool.