Frenet frame abruptly shifting along 3D curve

Hi everyone,

Here is a 3d curve I drew, with its curvature vectors (unitized for illustration) alongside. As you can see we encounter several “discontinuities” of these vectors (abrupt angle shifting in various spots). I’d like to obtain the same curve, but whith these vectors forming a “continuity”.

Now, I know this problem has already been addressed several times here and that it can occur with connected curves (case here btw), but also “mysteriously” (the mystery laying in the Frenet-Serret frame computing algorithm: aka Tangent and perpendicular frame).

The thing is I use this Frenet frame to compute some dynamic simulation in grasshopper (with Anemone for the recursive part, fyi). It’s all about the trajectory of a point particle alongside a 3d curve, in simple gravity field (so, basically a rollercoaster).
Thus, each computed frenet frame is dependent on the previous one.
So I cannot simply rotate the frame manually in a discrete division of the curve, because said division is computed through the recursion.

Is there a way to obtain the same curve but with continuous torsion?

I’ve already tried :

  • Rebuild command,
  • Extract vertices and redraw a curve with these,
  • Offset a little the curve in order to get a “cleaner” one,

But all of these don’t seem to work.
A big thank you if you can help me,
Regards.
Frenet shifting along curve.gh (13.9 KB)

what do you mean with “same curve” ? :slight_smile:


the only portion of your curve that has torsion is on the twist:

the start and end portions of your curve are planar segments, so their vectors lie on those very same planes


Frenet shifting along curve_re.gh (26.1 KB)

Perp Frames component already have uniform/continue orientations:
loop
Maybe use its X(U) vectors as reference?


Hey, this is interesting! Rollercoaster!

2 Likes

It’s also worth noting that for a real rollercoaster, whichever frame you use to orient the track, if you keep that curve, those discontinuities in curvature would still be there and would cause abrupt changes in acceleration, so potentially rather uncomfortable!

1 Like

Thank you all for your very informative replies :slight_smile: Here rises my knowledge of 3d curves!

I still am not satisfied about my curve but that’s another problem.
Simulating a roller coaster ride is paradoxically very simple (applying Newton’s second law) yet very complicated (not missing out the balance of forces, choosing the right scale of measurement, the time step, not screwing up the curve, etc.). It’s very challenging!