Zig zag en between 2 curves - ITERATIONS IN ANEMONE

Hi everyone… I need some help with anemone!!. I have 2 curves, and I want to make a zig zag line, between this 2 curves. The project im doing consists, of doing some arcs in between these curves. So I though I could use anemone, to make iterations, and find how many arcs, i need to fill the inside of these curves. I send some images and the anemone definition where i explain better what i have done, but there is something im not doing properly.

I will appreciate all kind of suggestions and help… Thankyou very much!!!

Duda.gh (17.1 KB)


This is my reference

I will appreciate all kind of suggestions and help… Thankyou very much

I love Anemone but do you really need it here? You would if all the arches were identical but your “objective” image doesn’t show that.


Duda_2020Feb24a.gh (11.6 KB)

Reminds me of this one somehow - different but…?

1 Like

Thank you for your answer.

I started like you said, but later I want to be able to control de length of the diagonal lines, that’s why I thought I could use anemone and use the iteration slider to control de number of diagonal lines and making circunferences with each iteration and making this circunferences intersect with one curve and then then with the opposite crv, as an iterative process.
In your way, I can’t have a precise control of the diagonal lengths…
Thank u again!!

I managed from scratch, simplified the lines, i didn’t expect twisted banged woven line magic like Joseph just pulled out! Flipping! Good lesson - Thanks very much!

Pedro, you can replace the two lines with your points in a list of the exact positions of the arches legs. Both solutions can work, plug in your curves.

That’s what I said. Your spec and examples didn’t show equal length lines/arches. If you do that, they will be bunched closer together where the guide curves are further part, of course. And they won’t necessarily end at the end of either guide curve (that would be extra credit!).

Duda_RE.gh (25.4 KB)

1 Like

yess!! this is exactly what i wanted!! i have understand it… and i am using it for my first step on the process… i will show you in some days what are the results. the idea is basically doing a exterior arcade path near the river and symbolizing some ruins that where there some centuries ago… so this week i have been parametricing this logic for later after using the real traces of the sorroundings to make new contemporary exterior paths…

thank you again!!

1 Like

this is how i did at first place…and maybe i will combine this idea, with what im doing now… i will show the results… thank you!!

very interesting!! not what i was looking for, but interesting for doing similar things.

Thanks Pedro but im barely scratching the GH fundamentals. I went from point A to Z in the bare procedural/geometric way, not the GH structural way as Joseph is trying to teach us.

I learned that ‘Divide curve’ = tree… not just a list… move it or transform it it’s a twist! Cull no problem but an entwine or weave and that’s where i get lost because of a 99%CPU load graft or flatten gone wrong. I’ve been working on a random square algorithm for 3 days and it’s mostly waiting for the cpu to stop doing 99%. then i found the missing graft, problem solved, go for loft, and start over :slight_smile:

That’s because it’s two curves being divided, not just one. Two lists of points, one (list/branch) per curve.

1 to 2 D… indeed! Swaping the points or matching them to cull the right ends to the 2nd curve next (+1 index list) right ends (zig zag) still baffles me (how it should word intuitively) (make a star algorithm). Each took me a good hour to figure out from scratch because the points wouldn’t jump/shift right (but lots of pretty spirograph patterns in between to recall).

Takes time to map those mental tables to the modules!

This is basically what i am doing…

1 Like

Given that your arches are not all the same, I still don’t understand the need for Anemone for this? Breaking arches at their midpoints isn’t structurally sound and doesn’t follow your reference image:

I guess one of the intentions of art projects is to disrupt expectations and make people think? My thought about these broken arches is “Why?”. :sunglasses:

1 Like

Here is a different solution using Anemone with a radius slider to set the length of each segment.

By adjusting this value very carefully, it’s possible to have the zig-zag polyline end exactly at the end of one of the two curves. The number of segments is also determined by this radius value. The loop will end if the span between the two base curves is greater than this radius value.


Duda_2020Feb27a.gh (14.5 KB)

Subtle Details
In order to terminate the loop, either at the end or when the span exceeds the radius, I ended up using MIndex (Member Index) to check if the intersection point from CCX is already in the list of points found so far. To do that, I used Insert Items (Ins) to build the list of points instead of relying on ‘Record data’ in Loop End.

This works great but GH makes it difficult to avoid inserting the point in the list anyway, which is why CullPt (Cull Duplicates) is used after the loop, before PLine. Otherwise there would be one duplicate point and consequently, a duplicate segment.

If the lines are equal this is possible without anemone

1 Like

That image tells me nothing without the GH code.

1 Like

It is not for you, and just an idea

1 Like

Why bother, it’s useless unless you show us how it works. Does it handle arbitrary base curves?