My main Grasshopper development these days is Kangaroo, which is nearing a beta-release, but in the meantime here's another little bit of physics based messing around from a while back that I felt like sharing.
DLA is a simple algorithmic model of a type of fractal growth that produces dendritic forms which occur frequently in both living and non-living nature, introduced in 1981 by Witten and Sander in this paper(pdf).
It has become quite popular as a generative design tool in recent years.
The forms produced are similar to certain lichens, corals, crystals, brains, veins, rivers, tree roots, etc...
In its basic form it is remarkably simple - Starting with some seed points, particles are introduced one at a time, then they wander around randomly until touching part of the existing cluster, at which point they stick to it and the process repeats.
As growth this way can be rather slow I implemented a few features to speed things up, such as wrapping the boundaries of the space, having an adaptive boundary from which the particles start, and an optional gravity pulling particles in towards the cluster..
The script I wrote works in 2D or 3D, and you can grow your dendrites on whatever starting geometry you choose. There are also a few options for different physical forces to shape the growth.
Have fun!
DLA.ghx (download the one below for compatibility with the latest Grasshopper version)
**Update May 2013**
Due to changes in Grasshopper since the script above was first shared, it no longer runs in the current version. Here's an updated version of the script:
Thanks guys, glad you like it.
Taz - Yeah, their work is really nice and was one of my inspirations for trying DLA in the first place. They have made several cool variations on the algorithm. I think something like this would be mainly a question of having the 'Proximity' setting become lower whenever the particle was inside the letter shape. Their venation stuff is apparently based on this paper
It's also interesting to see how with multiple seeds there's a boundary "seam" effect.
Both example cases that you linked too (with multiple discrete proximity zones) are way cooler than just a regular typeface.
Hi, I am in the beginning of learning grasshopper and I was exploring your definition. I found it very interesting and I tried to change the things in it, but whatever I try the points move towards the origin. For example, even I define the points in another place, particles are trying to go towards origin. Is there a problem with that or I misunderstood the logic? Thanks in advance!
Thank you for the awesome DLA script. I am wondering how to set my own boundary / control the seed points instead of having it running from the origin ? Thanks!!
Hi thanks for sharing this script, however I am trying to edit it so it will go towards an attractor (eg: food source) and as it grows the older parts die off (like slime mould) Any suggestions? Sorry I am quite new to ghopper. Thank you!
Hi I'm new in working with Grasshopper and have a Question about your Script. Is it possible to let it work on an Surface? If Yes hw i can do it, I tried but cant figure it out. Or maybe is there another Script which can do that?
Hi Vicente, yes - I checked and the updated script above still works with the current version of Grasshopper. Could it be something in your preview settings? (from the GH display menu)
Vittorio Menna
Mar 7, 2010
ddelgiu
Mar 8, 2010
Andrea Graziano
Mar 8, 2010
Tudor Cosmatu
Mar 8, 2010
taz
n-e-r-v-o-u-s
Fun stuff!
Mar 8, 2010
Daniel Piker
Taz - Yeah, their work is really nice and was one of my inspirations for trying DLA in the first place. They have made several cool variations on the algorithm. I think something like this would be mainly a question of having the 'Proximity' setting become lower whenever the particle was inside the letter shape. Their venation stuff is apparently based on this paper
Mar 8, 2010
taz
Both example cases that you linked too (with multiple discrete proximity zones) are way cooler than just a regular typeface.
Mar 8, 2010
taz
From the paper:
r^n_parent = r^n_child1 + r^n_child2
In the original formulation of Murray’s law, n = 3
Mar 8, 2010
Arthur Mamou-Mani
Looking forward to the release.
Mar 9, 2010
Stuart Fingerhut
Jul 6, 2010
Hatice Dayıoğlu
Hi,
I am in the beginning of learning grasshopper and I was exploring your definition. I found it very interesting and I tried to change the things in it, but whatever I try the points move towards the origin. For example, even I define the points in another place, particles are trying to go towards origin. Is there a problem with that or I misunderstood the logic?
Thanks in advance!
Nov 17, 2011
Muhammad Hissaan Awaiz
Hey,
I am having the same problem. The DLA starts from the origin. I cant control the seed points.
Thank you for the beautiful DLA script.
best,
Hissaan.
Dec 30, 2011
Joyce Yang
Hi,
Thank you for the awesome DLA script. I am wondering how to set my own boundary / control the seed points instead of having it running from the origin ? Thanks!!
Jul 28, 2012
Aditya Patil
hi..
DLa dosent run with ghx 0.9xxx...
can you update it plz ?
Aug 31, 2012
JW
Hello, Can you please update this for ghx 0.9 Thank you!!
Oct 20, 2012
Sarah Shuttleworth
Hi thanks for sharing this script, however I am trying to edit it so it will go towards an attractor (eg: food source) and as it grows the older parts die off (like slime mould) Any suggestions? Sorry I am quite new to ghopper. Thank you!
Oct 28, 2012
Andreas Schiffer
Hi I'm new in working with Grasshopper and have a Question about your Script. Is it possible to let it work on an Surface? If Yes hw i can do it, I tried but cant figure it out. Or maybe is there another Script which can do that?
Nov 10, 2012
Diego Mascareño
Hi Daniel, for some reason the VB component gives me runtime errors regarding namespace importing, any clue about what may be wrong?
Jun 28, 2013
Vicente Gasco
Is this suppose to work with the latest version? It seems to run but it doesn't appear in rhino.
Jan 25, 2014
Daniel Piker
Hi Vicente, yes - I checked and the updated script above still works with the current version of Grasshopper. Could it be something in your preview settings? (from the GH display menu)
Jan 26, 2014