Diffusion Limited Aggregation
Written by Paul Bourke |
|
|
The following are examples of growth in three dimensions based upon the same
principles as diffusion limited aggregation, normally performed in
two dimensions. The basic principle involves a particle
that moves around randomly until it gets close to part of the existing
structure, at which point it sticks and becomes part of the structure.
The process is started with a seeding structure, normally a single point, and
continues until the structure reaches a desired size.
| |||
|
| ||
|
Exhibited at Museum of Design, Zurich. einfach komplex – Bildbäume und Baumbilder in der Wissenschaft. Simply Complex -- Picture-Trees and Tree Pictures in Science. 30 April 2005 -- 4 September 2005 | |||
|
| ||
|
| ||
|
The renderings here are created using POV-Ray, each particle is actually represented as a cone and a piecewise Bezier curve is used to smooth continuous chains of particles. As particles are added the thickness of the branch leading to that particle in thickened. | |||
|
| ||
|
A further extension is to constrain the DLA growth to some "vessel". In the following the constraint takes the form a box (left) or cylinder (right) with one end open. | |||
|
| ||
|
Grown over a sphere (planetarium), left: looking from inside the planetarium, right: from the outside of the dome. | |||
|
| ||
|
DLA grown within a 3D scanned model of the human head (plus antlers), described by a STL file. Part of modelling exercise for Philippe Vranjes. | |||
|
| ||
| |||
|
Software
The software presented here is made available for Mac OS-X, for Mac OS-X X-Windows must be installed and running. DLA structures can be grown in 3D, constraint surfaces applied, and resulting structures saved in PovRay format for high quality rendering. | |||
![]() Screen dump from dla3dviewer |
![]() Resulting render from PovRay (Unmodified from export) | ||
|
> dla3dviewer -h
Usage: dla3dviewer [command line options]
Command line options
-h this text
-f full screen
-s active (quad buffer) stereo
-ss dual screen stereo
Mouse controls
left rotate camera
middle roll camera
right menus
Function keys: see menus
Keyboard commands
q quit
h reset camera
[,] roll camera
<,> more camera forward, backward
+,- zoom camera in, out
w window dump to TGA file
| ||
![]() Screen dump from dla3dviewer |
![]() Resulting render from PovRay | ||
|
Software Notes
| |||
|
Settings dialog
|
![]()
| ||
![]() Growth inside a cup |
![]() | ||
![]() Physical realisations of various growth stages by David Sutton. | |||
![]() Multiple independent seeds |
![]() Each growth acts as a constraint on others | ||
![]() |
![]() | ||
|
![]() Further examples by David Sutton | ||