Tweened curves pattern – ordering & mapping issues

I’m generating tween curves between an outer outline and one or more guide curves in the middle. I can get nice transitions (blends/tweens), but I’m stuck on (1) joining the split segments in the correct order and (2) cloning a motif along those curves to get a pattern.

My Goal:

Creating pattern:

  • Inputs: outline curves (boundary) and guide curve(s) in the center.

  • Generate tween curves between outline and guide(s).

  • Where tweens split, maintain a clean, smooth connection.

  • Finally, divide the resulting paths and map a shape/motif onto the division points so it orients to the curve (to build a seamless pattern).

What I have working

  • Tweening between outline and guide curves (and visually it looks good).

  • Using Rhino’s Blend (and GH Tween) I can get the curvature I want.

Where I’m stuck:

  1. Ordering/Joining: When the tween curves split, I can’t reliably join/sequence the segments in the correct order to form continuous paths.

  2. Shape mapping: I want to divide a path, clone a shape onto those division points, and have each clone follow the local tangent/normal so the pattern reads smoothly along the curve network.

Questions

  1. Best practice to enforce consistent curve direction before ordering?

  2. Robust strategy to order split segments along a “spine” or index curve? (e.g., sorting by intersection parameters vs. endpoints proximity, or a graph approach?)

  3. A Recommended way to orient geometry along divided curves so it doesn’t flip and optionally scales by local spacing?

TweenCurvesBlend_autosave.gh (7.1 KB)

FIT_Curves_00.3dm (2.9 MB)

I do not know if I really understand what you are searching for, but maybe this helps:

The output of the two TweenCrv’s + their Connecting BlendCrv => Join Curves
(what only works if all three datasets have the same order!, like you have here)
Now you have 10 continuous paths

To place some objects on the path:
I used PerpFrames to create a couple of planes along the paths. And used Orient to place a sphere (as example object) on every plane.



TweenCurvesBlend_EW.gh (19.6 KB)

1 Like

Thanks Eef, that actually helps a lot!
I was mainly struggling to get the curves joined in the right order, but your explanation about making sure the datasets align before using Join Curves makes perfect sense.
I’ll give that a try and update once I’ve tested it out. Thanks again! :raising_hands: