Imagine a suspension of particles undergoing brownian motion. Initially, for simplicity's sake,
one particle is held fixed in the center of the lattice. When another particle strikes it, it sticks. Another particle is
then set in brownian motion in a random position, and wanders until it too sticks. This process is repeated. This is the resulting aggregate of 20000 particles.
Imagina una suspension de particulas con movimiento browniano. Inicialmente una particula se
mantiene fija en el centro de la grilla. Cuando otra particula hace contacto con esta, queda pegada.
Otra particula se suelta en una posicion al azar, hasta que se pega al conglomerado original.
Se repite. Esto es lo que resulta al pegarse 20000 particulas.
Experiments!
To see DLAs made with copper sulphate, a current source and a plate, click here.
Para ver DLAs hechos con sulfato de cobre, una fuente de corriente y un plato, haz click aquí.
Source Code
Two versions are available. One outputs the result to a PPM file (see ket.dyndns.org/ppmwriter/ for details), and can be run on any machine (remove "-mpowerpc" from the Makefile if you don't have a Mac). The other version outputs the result to a PPM file, and also displays the evolution of the aggregate over time in an X11 window. If you don't have XFree86, then get the other version. Note: This version uses a class called Ventana by J. Rogan, A. Valdivia, X. Andrade, V. Munioz.
Estan disponibles dos versiones. Una saca el resultado a un archivo PPM (ver ket.dyndns.org/ppmwriter/ para mas informacion), y puede ser corrido en cualquier maquina (borra "-mpowerpc" del Makefile si no tienes un Mac). La otra version saca el resultado a un archivo PPM, y ademas muestra la evolucion del asunto en una ventana de X11. Si no tienes XFree86, entonces baja la otra version. Nota: Esta version usa una clase llamada Ventana por J. Rogan, A. Valdivia, X. Andrade, V. Munioz.
Most of the classes used are mine, except for Ventana. You are free to use them if you find them useful, but you must read PPMWriter's License (ket.dyndns.org/ppmwriter/) if you decide to use it.
La mayoria de las clases de c++ usadas son mias, excepto por Ventana. Eres libre de usarlas si las encuentras utiles, pero debes leer la Licencia de PPMWriter (ket.dyndns.org/ppmwriter/) si decides usarlo.
The factal dimension of these images can be calculated. For a solid, the voulme enclosed by a perimeter of radius r increases as r cubed. For a surface, it increases as r squared. In general, the amount of the object enclosed by a region of radius r will grow proportional to r^d, where d is the mass-counting dimension.
For the image on the right:
Fractal dimension: 1.6002 +- 7.24E-03
For the image below, which was made with an updated version (the random walk is initiated outside the DLA), here is how one calculates the fractal dimension: (note¬to see the full-sized 700x700 image, click here).
And for this aggregate on the right,
Fractal dimension: 1.783 +- 6.33E-03
For this aggregate on the left,
Fractal dimension: 1.678 +- 6.41E-03