How to Create Flow Pattern Inspired by Stallman Studio’s Work?

Hi everyone,

I am trying to replicate a specific type of artwork that resembles some of the works by Stallman Studio using Grasshopper, but I am struggling to understand how to achieve the growth pattern. I have attached a few images to highlight the key characteristics I am trying to replicate.

### Features of the Pattern:

  1. The curves appear to start as straight lines and then buckle/grow, as if some force is applied to them.
  2. Unlike typical collision-based curve growth patterns, some regions have an extremely high density of curves (almost zero spacing between them), while other regions are more spaced out. This creates an effect where the curves are interconnected, rather than simply avoiding each other.
  3. Although their artwork has many variations, I am specifically interested in reproducing this particular type of “field”.




The closest effect I could achieve is by simplex noise displacement, trying to replicate the logic here;

but

  1. that doesn’t solve the collision by itself;
  2. I can’t really control where the curves get close to each other

Relevant Discussions:

Images for Reference:



(I have attached images where I marked in Photoshop the regions where the spacing between curves is very small, almost as if the structure is divided into different regions, but not entirely.)

I would appreciate any insights on how to approach this! Could this be achieved through a force-based simulation, differential growth of the curves (with some extra boundary conditions), or some other method?

Thanks in advance for your help!

2 Likes

Here’s my initial attempt in gh
Noise_Crvs_KL_250304.gh (9.7 KB)

Hello
I didn’t find the magic way.
But one way to have non intersecting curve is to use some vector field and simulate the flow.
So you must make a vector field that follows the curves vector you want.


Then you will get that

Tools are there in Grasshopper

Grasshopper 2 seems better on that but I didn’t dig into it.

I developped some others tools in Nautilus plugin, the advantage is that you can use a mesh as Vector support and flow simulation. Vectors could also be rotated on each mesh vertex.

For the rendering, some extrusion or slab

test weaving lines.gh (18.1 KB)


4 Likes

Thank you so much for your help, and yeah, I love your plug-in a lot!

What you shared is really inspiring, for a long time I’ve only always been thinking in a straightforward way of extracting the field directly from the weight on a mesh, but never thought about using that to modify an existing field;

I’ve been looking at this post for a while and couldn’t think of how to make anything similar until now;



For anyone interested in a texture-map workflow, here’s my messy script (and I don’t actually know how to use the “Field from Equation” Component properly :sweat_smile:). It doesn’t take any fabrication constraint into consideration but could work as a starting point.

Gradient Vector Field_KL_250309.gh (599.1 KB)

3 Likes