Pattern Challenge: Wave-Like Creases


Hey guys,

Stumbled upon this artwork and was curious to see how I could generate this in Grasshopper. Not quite sure how to approach this so any insight and suggestions would be awesome. I’ve made ripple patterns using sin-waves in the ‘graph mapper’ component before, but not sure if the same approach is applicable here.

Also, credit goes to @mihaiodes on Instagram for this beautiful piece of work.

1 Like

Hello
not sure how it is done, but here are some clues.
To me this shape is a simple mesh torus that is deformed.
There many ways to deform a mesh.
By hand in rhinoceros
Or using deform component of grasshopper, like shear, Maelstom …
Before transformation


After transformation

Strips


Then using the strips you make grooves
I tried using components but it doesn’t work well. I surely don’t use the good points for point deform so it doesn’t find them and doesn’t move them

The best is surely to make your own tool to make grooved strips. It is not so hard, you move the side, add some points on the middle. If torus mesh is well constructed, the lateral of a face will always be AB CD or BC and DA. Choose one combination or the others changes the direction of strip. Like many things you’ll have to find or make the tools for what you want to achieve.

others sources

mesh deform and grooves.gh (19.8 KB)

2 Likes

A bit better



mesh deform and grooves v2.gh (16.8 KB)

12 Likes

A bit more better, for sure a C# script allows some more robust grooves. It is so simple it must exist in a plugin (mesh+, Pufferfish …)




Rapid explanation, understand who can understand
I take a quad mesh face and I subdivide it and displace it
Lets say alpha is a coefficient that is 0 on point A, and 1 on point B


Interpolated points between A and B are calculated with
For the number of subdivision i from 0 to n-1
alpha = i/(n-1)
point = ptA + (ptB - ptA) * alpha;
normal = vA + (vB - vA) * alpha
displacement is maxDisplacement *Math.Pow(Math.Abs(alpha - 0.5) * 2, factor);



12 Likes

Wow @laurent_delrieu thank you for diving so deep into this. I will look into all of your suggestions and get back to you with any additional insight.

1 Like

what you’ve created is amazing , is there any way we could create wavaes/creases like that but on a specific shape and with specific wave curves? like this?

Hello
this technique uses a mesh it seems not very useful with your use case.
Using sort of attractors seems more appropriate but you’ll need a fine mesh.

this is what ive got for now but i didnt use attractors , i seem to be close but imstill not getting it very clean , can you check it please?

CREASES.gh (83.4 KB)

Hello
here is a way
Join the curves, extend them.
Divide the curve and for each point search the closest curve, it will give a point on the curve itself so a distance of 0, so you need to take the second closest curve (item =1) this distance will be used to draw a sphere.
Divide the radius by a value ranging from 1 to 2 (or more) the use Dendro




creases LD.gh (89.8 KB)

4 Likes