Swirl curves with in a defined zone

Hi There,

I am trying to do a 2D swirling pattern.
A bit like a tornado.
However, after multiple attempts, I failed to keep the green spiralling curves within the geometry itself and not overlapping.
Could someone help point me in a direction on how I can make a nice spiralling pattern?

Thank you very much in advance.

260709_Swirl_Partial.gh (17.8 KB)

This is a fun problem. In order to make sure the spirals sit between the curves you need to map out each ‘step’ and then walk along the steps. have a look here…

Spiral_between_Curves.gh (28.0 KB)

You can also use some field technique, so you can choose the angle.

flow.gh (18.0 KB)

Scaling is just here because I have a bug with geometry that have big sizes

Maybe, but I’m rusty and have already spent too much time on this. I have something more elaborate but this very simple code demonstrates my problem.

Why is BzSpan producing a straight line? Can anyone fix this?


260709b_Swirl.gh (12.7 KB)

R7 or R8, no plugins.

P.S. I can imagine that one or both of the tangent inputs (‘At’ and ‘Bt’) need to be reversed, but I’ve tried everything and it still fails. :cry:

OMG!! I got it by adding an expression to both tangent inputs:
-x*5000

How ridiculous!! The immense size of the initial curves was the problem!
:rofl:


260709c_Swirl.gh (12.9 KB)

OH NO :bangbang: I lost the more elaborate code :bangbang:
:cry:

This isn’t the same as the code I lost but the general idea is the same. Needs more work…
:roll_eyes:


260709d_Swirl.gh (16.9 KB)

Not fun at all :bangbang:

thank you so much all for the suggestions!
this is exactly what I’m looking for.
Thanks a lot everyone!

There are several problems with the curves you provided.

  • Of the four curves you posted, I used two (after Join - cyan group).
  • The curves are HUGE, which (with my negligence) contributed to problems yesterday.
  • The inner (smaller) curve was not closed, it had a small gap, too small to notice.
  • The two curves had opposite directions, requiring Flip Curve on one of them (orange group).
  • Seam was required to align point pairs (orange group).

Yesterday I used Range to get ‘t’ values, which is generally a bad practice. It resulted in uneven distribution of points on the inner curve.

So I used ‘t’ values from Divide Curve instead (gold group).


260711a_Swirl.gh (47.3 KB)

The teal-colored group (‘HACK1’) is an attempt to externalize the silly expression I used on tangent inputs (-x*5000) by using curve lengths. It might break in some circumstances?

Below the gold group (unseen) is a disabled purple group (‘HACK2’ with “faint” wires) that tries and fails to use an alternative method using Connect - ignore it :red_exclamation_mark: