Diffusion-Limited Aggregation (DLA) java applet

Home
Movies
Images
Java
PHP
Micro controllers
Fractals
Vector graphics
Projects
Links
Blog
Meta
Java port of an old C-program I once made.
Diffusion-Limited Aggregation (DLA) is a fractal growth process. The process starts with a seed of some kind and particles that move by diffusion. When one of the moving particles comes into contact with with the seed it will become attached to the seed. The aggregate will continue grow as more particles attaches to the aggregate formed thus far. One way of realizing this type of growth process is putting an electrode into a solution with a low concentration of metal ions.

At first one might think that this kind of random process will aggregate into a more or less uniform blob. This is, however, not at all the case. Because it is more likely that a diffusing particle comes into contact with parts of the aggregate that is sticking out this will tend to amplify small irregularities in the aggregate. This type of amplification of random fluctuations will lead to a branching, tree like structure, which is actually a fractal.

Below is a simple java applet that does DLA. The particles move about randomly on a square lattice. When a particle attaches to the aggregate a new particle will be introduced on a random point on the edge of the display area. Particles in the aggregate will be colored according to how long they have been part of the aggregate. The simulation will run until one of the branches reach the edge of the display area (This is actually too long if you want an unbiased DLA. Introduction of new particles close to the already formed aggregate will affect the growth in late stages of the process, but that is ignored in this applet.).



Sample DLA images

Below are a few sample images made with the applet.

diffusion limited aggregation

diffusion limited aggregation

diffusion limited aggregation

diffusion limited aggregation

diffusion limited aggregation

diffusion limited aggregation

diffusion limited aggregation
The aggregate in the image above used a different kind of seed. Instead of using a single point as a seed a line was used.

diffusion limited aggregation
Another aggregate with a different seed type - a square.