Diffusion-Limited Aggregation Projects


Back to Portfolio Homepage

One particular phenomenon that I have written simulations for a few times is called "Diffusion-Limited Aggregation", in which particles undergoing Brownian motion aggregate together.

This is a real phenomenon that typically happens when particles of a solution start crystalising around a seed particle or surface. Here's a an example from the Wikipedia page for this phenomenon created with a copper sulfate solution:

This seemed like a fun project to simulate in code, so on a long plane ride, I decided to write a java program to simulate it, and the results ended up being quite pretty:

And, revisiting this idea much later, I wrote a feature for HBot that could simulate a 3D DLA in Minecraft for any parameters specified by the user, from the blocks that can act as a seed to the way the solution changes over time. After quite a bit of optimization to get it to run in a reasonable amount of time, here is an example of what you can produce with it:

You can click on any of the images to view the full image.