Rose pattern: data list organisation problem

I would like to create a rose pattern characterised by one curve. I started from a circle and draw its radius. These are the “binary” of my weave pattern. After I divide each radius in segment and using the cull pattern component I take the points alternatively. Now I would like connect all of them using a polyline (that later can be fillet or using interpolate) to create a weave pattern composed by one curve (as the images)
Do you know how can I organise the data list in order to achieve that?
rose data trees (6.4 KB)

Hi Alessia

In some cases it is better to rethink the algorithm.
Yes, in this specific case in some way you could make what you want by making first all the point and then “travelling” your tree with a mask to get the wanted sequence… but it’s easier to keep it simple as long as possible.
It’s a polar array, better make the single element first.

I thought of this construction sequence:
Make a sequence of points (must be an even quantity, so odd line division)

  • move only odd (or even) points to make a “half-spoke”
  • mirror to get the other half (removed duplicate points) > full spoke
  • polar array to get all the spokes

Here you can see the sequence visually:
(some point are uncongruent here just to see what is moving/duplicating/mirroring…)

rose data trees (12.3 KB)


rose data trees (59.7 KB)

And here with data tree management.
(Not completely, as [Join curves] component is used to concatenate segments that are still not fully ordered…)

A solution for a single looping/closed surface and another one for a list surfaces (looping or not).

Explaining what is going on here is way more difficult than the definition itself…



Thanks a lot! really usefull,
In your animation you show that is possible to make the point between each array " uncongruent", How can I achive that?, I mean if i can controll the distance between that point.
Thnaks again

rose data trees (15.1 KB)
By adding or subtracting an angle to the rotation.
First and last points must still be rotated as before, so some data management required.

Hi @maje90 :slight_smile:
Can you tell me what tool you used to create this animation?
Of course I’m not asking about this pattern, I’m just asking how did you record this animation?
Is there any tool in Rhino or the grasshopper components / plugin?
I was probably moving the sliders manually during the recording.

Otherwise you can use animate slider (the built-in function of grasshopper sliders) and use that same software to load a series of pictures and make a gif.