Particle System

This is a project I made for a class I took at the university. Our directive is to make two simulations, a water and a fire simulations. Both of my simulations were done in Processing 3.

Water Simulation

In this simulation, I created a water fountain spawning water particle at a rate of 5000 particles a second, creating a continuous, look-a-like water motion. The orange ball is used to block the water particles.


  • 30k+ particles at 30 FPS
  • Continuous user interaction with mouse
  • Water particles bounced off the ground
  • Custom vector library
  • 3D camera supporting translation and rotation

Fire Simulation


  • Custom vector library
  • 3D camera supporting translation and rotation
  • Translucent particle textures.


  • QueasyCam : external 3D camera library.
  • I used the starting code from the particle system tutorial on processing website, but it was heavily modified.


  • You need Processing 3 to run my project.
  • You can use WASD to move around.
  • For water simulation, you need to disable the camera (press C) to begin interacting with it with the ball and mouse.
  • For fire simulation, please try not to move around or to the back of the fire since I did not support 3D viewing (just move around with the mouse).

Source Code

  • The full Processing source code is available here.