algorithmic modeling for Rhino
This is a vase modeled via Rhinoceros, meshed with quad with Rhino, re-meshed using Kangaroo in order to have triangular mesh. The mesh is re-meshed in the script in order to have enough triangles (400k). A classic reaction diffusion is applied on the mesh. The script is provided but beware it is quite long (10 min) because of Sandbox which is used to get all neighbor vertex of each vertex.
Yikes! .....my little super computer took: 17 min to see gh script in gh window, + 3 min to see geometry in Rhino, + 20 min to actually use reaction_diffusion_vase.gh. = Total 40 min.
FYI: I scaled up the gyroid to vase size, and used the vase gh settings. see before and after pic
The new diffusion_gyroid.gh tool only 5 min. Obviously geometry vertices matter.
(1) Mainly reaction diffusion is calculated on square grid, in order to do this you just need to know concentration of A and B on the point but you also need to calculate Laplacian using derivative. On a grid it is easy to have neighbor of point(i,j). "he Laplacian is performed with a 3x3 convolution with center weight -1, adjacent neighbors .2, and diagonals .05.". On a mesh I use adjacent vertexes, with a weight of 1/(number of adjacent) and -1 for the center.
I think Ii is possible to put some direction on the pattern with a good modification of the weights.
Here a change in pattern with change along z of feed (dot "mitosis" on base, coral on top)
(2) Here it is not thickened, the mesh is closed. I didn't test on opened mesh.
And you are right Sandbox is long, I didn't try to code it for the only purpose of calculating adjacent vertexes.
Is your original internalized Vase a mesh containing a single surface or does it have thickness applied to it ?
The parameters you show on the Bunny have a very small range of success, I will try other geometry, to see if I get better resolution, closer to your vase.
I was tempted not to try this again :) ......But I'm pleasantly surprised, as if you reached into my computer and removed all the slow bits.
Question: I've been trying to increase the range of Z which restricts the diffusion of the vase without success, since its dependent upon the initial scale of the imported mesh. I'm not an expert in GH, but could that range not be controlled by 2 max/min sliders, so it could cover the entire Z range of the geometry?