Tween "2D" curves adds 3D offset

I’m a beginner and I’m trying to understand the behavior of the tween node here:

Why, in the top view, did tween begin to bend the curve towards the y-axis, instead of keeping the y for each new curve at the same value, like they are for the a and b curves?

(Also, a is a 2D arc whilte b is a 2D line in my case…)

Upload your curves. It looks like your arc is also in the z direction based on the front view. As for the Y axis bend that is because tweening arcs is never really a good idea if you understand what a tween is. Arcs are degree 2 curves with weights on the control points to have minimal control point counts. Try lofting between the a and b curve and you will see this in the resulting surfaces iso curves. You should use fit curve component to degree 3 on arcs before tweening.

tween.3dm (29.1 KB)

Does the grasshopper graph get saved with the 3dm file, btw, or do I now always need to keep the two files together?

You can internalize the inputs.

Oh, wait… the Pufferfish tween produces the expected results without me doing anything to the curves.

Why is that?

Because I added conditions for arc curves embedded in the code.

That’s really cool. But what you said before about arcs is interesting, and I was curious as to why Rhino arcs seemed much lower in degrees than Alias arcs, but I couldn’t test what you said with a loft, because the loft looks OK to me:


What are your loft options?


I wondered if I had lost the arc properties, but the tool tips for the inputs in the Pufferfish tween says that one is a line-like curve and the other is an arc-like curve (which is absolutely fantastic, by the way).

While I have you here… I got a very weird result when using your slide node on two other arcs:

arcslide.3dm (26.7 KB)

Your guide curve is drawn in the opposite direction than you intend. Flip it, remember to always be aware or curve direction.

1 Like

Thank you!

Now I’m interested in the logic behind this. So, does Pufferfish take the UV direction of a curve and if it ever reaches the end, just extrapolates, or was I seeing that weird effect for some other reason?

Then again, if knew it was at the end… and knew when to stop… why couldn’t it figure out that the created curves weren’t actually placed on the visible curve in the viewport?