Grasshopper

algorithmic modeling for Rhino

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:

Views: 25842

Comment

You need to be a member of Grasshopper to add comments!

Comment by Joyce Yang on July 28, 2012 at 4:54am

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!!

Comment by Muhammad Hissaan Awaiz on December 30, 2011 at 11:31am

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.

Comment by Hatice Dayıoğlu on November 17, 2011 at 5:40am

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!

Comment by Stuart Fingerhut on July 6, 2010 at 1:23am
awesome share
Comment by Arthur Mamou-Mani on March 9, 2010 at 3:21am
Thanks Daniel!
Looking forward to the release.
Comment by taz on March 8, 2010 at 1:50pm
vein width looks fun too...

From the paper:

r^n_parent = r^n_child1 + r^n_child2

In the original formulation of Murray’s law, n = 3
Comment by taz on March 8, 2010 at 1:41pm
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.
Comment by Daniel Piker on March 8, 2010 at 11:02am
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
Comment by taz on March 8, 2010 at 9:56am
Daniel, you've got to vein the letters!

n-e-r-v-o-u-s

Fun stuff!
Comment by Tudor Cosmatu on March 8, 2010 at 8:38am
amazing! but still looking forward to test the kangoroo beta-release! :P thx!

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service