An interactive 2D particle flow visualization project using p5.js. ๐จ๐๏ธ
I'm learning p5.js driven by curiosity. This is a project to explore and understand the library by creating a 2D particle flow visualization. It combines various effects such as noise-based movement, color transitions, fireworks, and interactive mouse effects like swirling and attracting to create a dynamic and engaging visual experience. ๐๐ฎ
Check out the the repository page to navigate the current implementation.
- Dynamic particle system with customizable parameters ๐ง
- Multiple color palettes and blending modes ๐จ
- Firework effects with various trajectories and behaviors ๐
- Zoom functionality for exploring the particle field ๐
- Interactive mouse effects (attract, repel, swirl, vortex, wave) ๐ฑ๏ธ
- Customizable particle shapes ๐ถ๐ท
- Adjustable noise functions for particle movement ๐
Static mode:
You can run the current project by cloning the repository and opening the src/index.html file in the browser.
Basic server mode (for future implementation of new visualizations and deployment):
- Clone the repository:
git clone https://github.com/yourusername/particle-flow-visualization.git
- Navigate to the project directory:
cd particle-flow-visualization
- Install dependencies (express and socket.io):
npm install
- Start the server:
node server.js
- Open a web browser and go to
http://localhost:3000
(or the port specified in your environment).
The project includes a GUI for real-time adjustment of various parameters:
- Particle settings (count, size, lifespan, etc.) ๐ข
- Color settings (palette, speed, blend mode, etc.) ๐
- Firework settings (size, lifespan, effects, etc.) ๐
- Zoom settings ๐
- Mouse effect settings ๐
Explore these settings to create unique visual experiences. ๐๐