Smoke particle system demo, based on Dan Shiffman’s original example for Processing.
The code makes use of the p5.Vector class, including the createVector() function. The various calculations for updating particles’ positions and velocities are performed with p5.Vector methods.
The particle system is implemented as a class, which contains an array of objects (of class Particle).
Smoke Particles by p5.js Contributors and the Processing Foundation is licensed under CC BY-NC-SA 4.0.
Related Examples

A small green circle hovering over a yellow tilted plane at the bottom of the canvas.
Non-Orthogonal Reflection
Simulate a ball bouncing on a slanted surface.

A yellow pentagon on a black background.
Soft Body
Simulate the physics of a soft body accelerating toward the mouse.

9 multicolored circles at varying heights on a grey background.
Forces
Simulate forces on multiple bodies as they move through liquid.

Rainbow colored smoke angled towards the right of the canvas, with a white arrow above the smoke pointing right.
Smoke Particles
Simulate smoke with a particle system.

Grid of squares made of black lines on a white background. Some squares are filled in with solid black.
Game of Life
Recreate John Conway's cellular automaton.

Colorful rendering of the Mandelbrot set.
Mandelbrot Set
Visualize a mathematical set that produces fractal structures.