it's not complete by any means, I just wanted to have a guide for the splines I've implemented in my spline tool c:
there *is* a C2 interpolating spline I've yet to implement - the cubic natural spline, but as a tradeoff in that one you lose local control, so it's a lil wonky
@acegikmo Hi Freya, I just followed you as your posts make my brain hurt. well done. You may enjoy this i found it to be amazing.
https://rumble.com/v2o2oe5-synthwave-radio-beats-to-chillgame-to.html
I think my spline is aching. What happened to the nice, simple cubic splines that I normally use?
@sol_hsa yeah, that's what arc length parameterization is :)
it's a supported feature on all my splines (though it does require some extra memory and computation)
@Aradayn currently not supported! I need to figure out a good way to set up that kind of spline, bc there's not really any good ones out there as far as I know
Biarcs are weird and I don't know when you'd need them. NURBS are way too complicated to make circular arcs with, and rounded polylines struggle with helix stuff in 3D
@acegikmo
Yeah, that's a drawback for sure... I'm using NURBS for my spline editor/renderer, because true circles were very important to me.
Currently, I'm just allowing pre-created circles, but I'm planning to add the ability to "circularize" a segment of a curve as a higher-level editing feature.
But your stuff is way more impressive than my amateurish efforts! Thanks for sharing.
@acegikmo @Aradayn Euler spirals solve this problem nicely and behave quite intuitively (better than bezier and definitely better than biarc).
@raph has written a book on interpolating splines which covers this question in great detail (and includes an MIT-licensed implementation). It's available at https://levien.com/phd/phd.html
@gtsteel @acegikmo @raph
Wow, thanks! Euler spirals seem to be, at least from the construction, manipulation, and feature standpoints, very close to the ideal I was imagining when I first got started on the project that inspired this question.
I don't know that I want to abandon all the NURBS work I've done so far. This is quite a quandary... I'm about to start on advanced manipulation techniques. It might or might not be better to explore these: the potential difficulty seems about the same.
@acegikmo More generally, if you want higher levels of continuity and/or more control over things like derivatives, you can always do that by using a higher degree, it just gets unwieldy.
Finally B-splines are just a basis (that happens to be numerically very well-behaved), you can write any spline of a given degree in B-spline form and this is often a good idea if you need to do numerical work on it
@papakipos those are B-Splines!
NURBS = Non-Uniform Rational B-Splines