Standard diffusion begins with a single point in the center of the screen. Subsequent points move around randomly until coming into contact with a point already on the screen, at which time their locations are fixed and they are drawn. This process repeats until the fractals reaches the edge of the screen. Use the show orbits function to see the points' random motion.
One unfortunate problem is that on a large screen, this process will tend to take eons. To speed things up, the points are restricted to a box around the initial point. The first parameter to diffusion contains the size of the border between the fractal and the edge of the box. If you make this number small, the fractal will look more solid and will be generated more quickly.
The second parameter to diffusion changes the type of growth. If you set it to 1, then the diffusion will start with a line along the bottom of the screen. Points will appear above this line and the fractal will grow upward. For this fractal, the points are restricted to a box which is as wide as the screen but whose distance from the fractal is given by the border size (the first parameter). Initial points are released from a centered segment along the top of this box which has a width equal to twice the border size.
If the second parameter is set to 2, then diffusion begins with a square box on the screen. Points appear on a circle inside the box whose distance from the box is equal to the border size. This fractal grows very slowly since the points are not restricted to a small box.
The third and last parameter for diffusion controls the color of the fractal. If it is set to zero then points are colored randomly. Otherwise, it tells how often to shift the color of the points being deposited. If you set it to 150, for example, then the color of the points will shift every 150 points leading to a radial color pattern if you are using the standards diffusion type.
Diffusion was inspired by a Scientific American article a couple of years back which includes actual pictures of real physical phenomena that behave like this.
Thanks to Adrian Mariano for providing the diffusion code and documentation. Juan J. Buhler added additional options.