algorithmic modeling for Rhino

Directional Reaction-Diffusion on a cactus.

The cactus shape is done using Cocoon from

3 curves are used. A directional reaction diffusion is applied to the mesh. The script is based on

Views: 321


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

Join Grasshopper

Comment by Laurent DELRIEU on August 28, 2015 at 9:09am

@Alex : surely it could be mushrooms. It also could be patterns on sand. 

@Daniel : I wanted to recreate something like "reaction" from nervous. What I read said that diffusion was modified. So I modified Laplacian calculation depending on a direction. For each vertex of the mesh I calculate the difference between the value of concentration of this vertex from each of its neighbor. I do a multiplication on this difference depending on the angle between the edge and a vector placed on the vertex. If teta is the angle I do multiply :

Math.Sqrt(Math.Sin(teta) * Math.Sin(teta) + _factor * _factor * Math.Cos(teta) * Math.Cos(teta)); 

There is no change for teta = 90° and 270° and a multiplication of _factor for 0° and 180°. (if factor is 1 there is no change instead it is an ellipse).

I then apply this modification (coeffs) uniquely on B species.

 dxB = dxB + coeffs[i_point, i_vv] * (B[_VV.Branch(i_point).ElementAt(i_vv)] - B[i_point]) / _VV.Branch(i_point).Count;

So it is. Here I multiply by 5 and and put a diffusion B = 0.1. But if multiplied by 10, diffusion B = 0.05 ...

I will post example on the forum.

Comment by Daniel González Abalde on August 28, 2015 at 4:58am

Very good result, what method did you use to address so strong?

Comment by ng5 Alex on August 28, 2015 at 4:31am

very nice! this could recreate the back of some mushrooms!

Comment by djordje on August 28, 2015 at 1:15am

Very nice Laurent!





  • Add Photos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service