Grasshopper

algorithmic modeling for Rhino

# 2D Reaction Diffusion to 3D

Here is a script replicating some of the work presented on http://toxiclibs.org/2010/02/simutils-grayscott/ especially replicating this image http://toxiclibs.org/wp-content/uploads/2010/02/typeform_square_680...

Size of patterns depends on Grid size.

Time of calculation depends on grid size, _n_steps*jumps.

Image above was done using this script and bend, taper ... from Rhino, and also modifying feed and kill rates. See http://www.karlsims.com/rd.html

Views: 19634

Attachments:

### Replies to This Discussion

Thanks for sharing it Laurent.
Truly useful component!

You are welcome,

I do that as a hobby so it is not a problem to share.

Nice!

I like how you put the ball under the "gh", making the digital model standing stable. :D

Really nice. Great use of millipede for isosurfacing!

Haha I was about to comment on the little ball as well. Really interesting simulation Laurent!

Thanks For the vase and this def., though i am having some problems with millipede, but I will work that out.

Here is the script to generate the guéridon "http://www.grasshopper3d.com/photo/reaction-diffusion-gueridon".

Almost all values used on the simulation are on a square grid. Here with 201 points in X and 201 in Y. So 40401 points.

A species concentration is set to 1 on all the grid

B species concentration represent the feet of the gueridon. Black mean 0 and  white mean 1.

A diffusion is set to 1.

B diffusion is set to 0.4 multiplied by the value of brightness (here 0.65 to 1) so B diffusion from 0.26 to 0.4. A lower value of B diffusion mean smaller size of pattern

Feed values are set to 0 (no B species in theses places) to 0.056.

Kill value is constant 0.0649.

N steps of jumps is the number of slices (minus 2) of the 3d model so here there are 201x201x202 = 8160002 provided to isosurface. Each slice is separated by jump*dt (18 here).

The script provided generate in less than 2 minutes the gueridon, with a mesh of 1,200,000 faces.

The mesh must be flipped in rhino. I also use CageEdit to deform the mesh for my rendering.

Attachments:

Here is a script which can be used to generate 2D pattern with an update each step of time. I use it before going 3D.

Attachments:

On the left the 3d render of Karlsims "Mitosis" http://www.karlsims.com/rd.html. It is the B concentration product represented by a rectangle like this.

If kill and feed are modified it gives the middle shape.

With B like this, it gives the right image.

This is really awesome Laurent! Would you mind sharing exactly what values you've used in the definition to get the results like above? I'm having trouble working it out. Thank you :)