Organic Pattern_Extractable Outlines

Hello there, I am wondering if there is a plugin or script that can generate a pattern similar to the attached image. Ideally, I would like to be able to extract the outline and make extrusion based on these curves. Thank you


you could use Directional Reaction Diffusion

1 Like

Hello Laurent, thanks for the advise, I will study into this.

maybe there is also a way to make a maze script/plugin look more organic? what i personally like in that pattern above are the open endings which maze would provide

For sure it could be done with not so much components with a directional maze.

Then some deformation


Hi Laurent, the Maze approach seems to be much simpler and easier to manage, but I am wondering if there is a way that to make the whole thing more organic and with rough edges like the reference image? The Maze likes a bit rigid. Perhaps I couldn’t rebuild the curve s and increase rotation etc…

For sure it is more simple, but I am not sure you will find the directional maze ! I will publish it in a future plugin.

you can add some noise on the curve, apply some transform. There are many ways.
Here is one

For me Reaction diffusion is more organic, except the speed I don’t really see any problem with it. For sures it will be harder to extract curves, but do you you really need curves ?

1 Like

Hi Laurent, yes, I was asked to extract the curves for the project that I am currently working on. For the “Directional Reaction-Diffusion” approach, I assume I will need some knowledge of either C# or Python to comprehend the pattern? I found a tutorial regarding this topic on Youtube, do you think it is a good starting point? Quarantine series - gh Python. Reaction Diffusion (part 1) - YouTube

I also discovered another approach by using Bitmap. Not sure if this is easier to comprehend… :sweat_smile: I am a little bit lost at the moment as this is a new field for me.

Hi Laurent, could you please share the name of the Plugin “MazeKruskalAdvanced”?Parakeet’s maze doesn’t seem to give me the same control. Thank you.

If I’m not mistaken it’s Laurent’s own component that isn’t public.

1 Like

As @diff-arch said it is not available. It was published some years ago but I removed it. I gave many free stuffs but now I refrain myself.

1 Like

here is a simple solution to extract the curve from Reaction diffusion.
First make a surface and remesh it with triangles (du to the simple algoritm in reaction diffusion)

Put some guide curves (not mandatory)

Use reaction diffusion script with a directional factor more than 1

I move points following Z and relative to the coefficient A with a movement between 0 and 1
Make a plane XY between 0 and 1 in Z
Use Mesh Plane

You have your curves.

If directional factor is less than 1, direction is perpandicular

You can tweek many things to change the results. Play with the coefficients.

There is a solution in 3d but seems to complex at the moment. (48.4 KB)


Hi Laurent, thank you for the in-depth reply. I will study your script and hopefully, I can be as good as you one day…haha

I think there was a plug-in from one of the devs based on poTrace…
…re found it! it’s called Vectorize and it’s from Dale Fugier. this works pretty well and fast. However, it might require to adjust the image, but yours seems pretty ok.

hope this helps.


1 Like

Hi Ben, I will certainly look into this plugin. Thanks!

@benedict and @realtaiwanese also this one

thanks, I am aware that there’s a entire science sector behind edge detection and a ton of different methods. I had studied some of them for a gemstone scanner project in python, but thought this would be the easiest solution for @realtaiwanese. Yours looks pretty nice, though! As always, when you do stuff, @laurent_delrieu

I wonder why there’s so little examples of edge detection from cute cat pictures…

@realtaiwanese : You could also try and use _-heightfield which will handle about everything for you…not available on grasshopper though, just as command in rhino. Pretty powerful tool!

Thanks but I almost did nothing as it is a reuse. it gives that on @realtaiwanese image

But this could be enhanced. Here I use my own tools (future plugin :crossed_fingers:)

1 Like