How to rebuild tangency of tweened curves?

I have a sequence of 3 arcs that I want to tween to straight lines. These arcs are tangent to one another, but it’s quite easy to see that the tween almost immediately breaks this:

Is there a way to force the tween to keep tangency?

EDIT: I just remembered that tweening doesn’t keep arcs at all. I wonder if I have to tween a continuous spline and then rebuild arcs from it. I know how to split the spline into length segments, but how could I ensure that the arcs I then rebuild are tangent?

Tweens are not meant for arcs if you need arc as output. Why don’t you just tween the control points and make arcs? Or tween the curves with Pufferfish and rebuild as arcs as shown in previous posts by you?

Yes, but in the post you are referring to, I rebuild an arc from a single spline.

Here, I want to divide the spline into 3 different lengths and have it made from 3 arcs, and my question specifically is how to ensure that these arcs are tangent in grasshopper?

I just tried to segment the spline and place 3 arcs on it using the same method, and after baking, when I manually checked the G1 angle deviation was 0.07 and 0.06. So that actually seems to be within tolerances, but just barely, so since I’m creating dozens of segmented arcs, I’d like to know if grasshopper can check the tangency for me.

Geometrically you can’t maintain tangential arcs with a true tween, or even with a true tween just of the arc end points.

That given, will it be acceptable to tween the ultimate end points and allow the tangential joins between arcs to find their own points, which will not be equidistant?

Or is it better to maintain a true tween and accept that intermediate curves will not be arcs?

I’d be willing to prioritize tangency, because I can always check distance deviation later.

I just don’t even know where to begin creating a sequence of tangential arcs that tries to match a given curve…

OK, on second thoughts it is possible to maintain tangential arcs with tweened end points (but I don’t know if it is possible for all geometries).

Here’s one way to do it: Tweening Arcs (26.4 KB)


I’m going to take your word for it. That was a way too advanced solution for me to understand right now. :slight_smile: