Navigation Menu

Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



15 Commits

Repository files navigation

Atomic Clusters explorer [Processing]

This project was released under the MIT License

Atomic Clusters is a particle-based simulation inspired by the work Clusters from Jeffrey Ventrella. I wrote an article to describe both the system and its implementation on my blog. Feel free to check it out if you want an insight on this system.

Atomic Clusters explorer demo

This simulation is an attraction-repulsion system, where particles can have [0; 4] attractors. Attractors of the same color are attracted, and repelled by attractors of some different colors. These forces generates torque on the particles, creating the angular rotation we can observe.

This tool was made to explore Atomic Clusters with more precision than just throwing random particles all arround. It is still under development and the code is not 100% clean. Like the UI architecture is garbage, but it was enough for this first version. There is also a lot of room for optimisation, especially when it comes to the particles interactions. This is my first project using Processing so if you want to improve this tool feel free to contribute. I made a quick video to explain how the tool works:

Link to the presentation of the tool

How to run

  • Download Processing and install it
  • Clone this repo
  • Open the sketch_atomic_clusters_explorer.pde file with Processing
  • Run

How to use

  • You can interact with the system by adding, deleting, rotating and moving particles
  • Adjust the simulation settings on the bottom right
  • The list of controls can be seen by clicking on the keyboard icon of the bottom left toolbar
  • New atoms can be created and added to the toolbar using available subatomic charges (colors)
  • The number of different subatomic charges can be modified by clicking on the top-right icon.

Exploration of Atomic Clusters with more particles

I explored this system using compute shaders to have more particles, I posted some of my results on my instagram: @ciphrd


  • refacto of some components - required before next update
  • optimization of particle-particle interactions
  • add interaction tools (such as mouse repelling particles, random particle spawn, eraser?)
  • selected particle should have more data displayed + a way to modify its settings


A Processing project to explore the atomic clusters system






No releases published


No packages published