Algorithm for the structure

[Deleted image]
I really not getting the algorithm of this structure, can someone help me out in this? Is this related to the twisted sine waves?

  1. Do some Surface (countless ways to do that).
  2. Divide the Surface (or the BrepFace). Say in V (along the axis) and U. Get the pts and the normals (sample all that in some sort of DT where branches are “along” U).
  3. Within a double Loop (U,V) for each pt index in V use some logic to shift the start index (in U) and …
  4. … If index is odd use a factor to reduce the sin/cos distortion (or as an option don’t distort these pts) if is even use the full distortion. Plus use a var to modulate the frequency (along the axis).
  5. So given a distortion value… add to each div pt a Vector n (where n is the normal [the R Method yields an unitized Vector anyway] * distortion).
  6. Redo the Surface using the new pts.

In plain English you should apply this sort of stuff (as core logic) in many pts collections.

The main part is just a sort sinus that is shifted depending on the height

Or more likely a sort of tween between a sin(xn+shift) and sin(2(x*n+shift))

There are many variation possible. It is basic math. Sinus, Abs, Tween … Graph Mapper could help a lot.

vase (16.7 KB)


Hi, @laurent_delrieu I got error messages in R7 and R8.

1 Like

I use rich graph mapper.

1 Like

I am not so sure, but would the Rich Graph Mapper be replaced by the native one automatically?
I only see the native one after opening it.

I thing rich graph mapper just add curves to classical graph mapper. From my grasshopper i just have one graph mapper
Here the last version without special function

vase (22.1 KB)


This might be a “bloom” structure, if you are looking for something like this:


Thanks for the Algorithm, but here i want to ask that if i want the design continues to draw while increasing the height. I mean design follows height. How would i make it possible?

you have many solutions

  1. Change the curve in Graphmapper as you change the height
  2. Write the equation
  3. You can use Graph mapper outside range, lets say you have base at 0 and reference height at 12 so that results to normalize values to [0, 1] , if you want a new height you just have to input in GraphMapper value [0, newHeight/referenceHeight]

    Short example showing the same curve [0, 1] and [-1, 2]

Hello @laurent_delrieu,
Thankyou for the solution, but the solution is not working as I want it to work, as it design doesn’t flows with the height. I need to make a continuous path without expanding the design. the design flows with the increase or decrease of height.
I don’t want to make the design compressed, besides i want to move the design forward without expanding the design. I hope you understand.
I think the expression needs to be improve. i need an expression with the relation of height and design curve.

vase sinus (1).gh (22.7 KB)

Would geometry like this be useful for you? I’m working on this GH script for standard 3D printing, so the shapes are twisted solid Loft (Closed Brep) shapes. The GH file (right now) uses only standard Rhino 8 components, no trig or Graph Mappers.



Thanks @Birk_Binnard but the design you made is different from mine.

I think I understand, I can get this

using my recommandation

Just the thing I didn’t tested is that all curves doesn’t work outside range.
You have a lot of work around.
Stay graph mapper x[0 to 1] and use a max height for example 100 that will be 1 in graph mapper. So if height is 50 domain must now be [0, 0.5]
Here I change the domain inside Graph Mapper from [0 to 2] with a reference heigth of 50, so max height must be 100.

Some graphs works outside range
Perlin, Power, Sinc, Sin, Sin Summation, Square root

You can also

Hi Manish , I know its off topic but I’m looking at what you’ve printed here and I want to say it’s a beautiful pattern, is it extruded clay?

here i had find a solution for the problem, i think it will work as temporary. here is the code:
vase sinus (1).gh (17.7 KB)

1 Like

Hello @Paul_Bensel, i don’t think so, it’s a clay, as it is more looking like a concrete structure.

You need gcode for clay printing or surface ?

1 Like

Thank you Manish, very nice pattern

1 Like

thankyou @saeed_hasan_zadeh, when i need it, i will ask?