Live data from Hacker News

The Continuity of Splines [video]

youtube.com

21–30 of 43 posts

Re: The Continuity of Splines [video]

#21
post #2

I’ve been following Freya’s work [0] for a while. She works in the game industry working with Unity, hosts a bunch of Discord channels, and live streams about game math and shaders. This video is relatively long, but it’s one year in the making. If you ever wanted to understand a bit more about Béziers vs B-Splines and G2 vs C2, this is great place to start. PS. I would also highly recommend these sources which have…

As the author of [2], I strongly recommend everyone watch Freya's video summary of Bezier curves in addition to this tour de force. They're both authoritative works.

Seconded. A lot of the video runtime is covering fairly well known topics, but there are moments of brilliance, where it made things "click" for me. The treatment of the characteristic matrix and how the same matrix can derive both t and point parameterizations was particularly insightful.

Re: The Continuity of Splines [video]

#22

Earlier quoted context omitted.

As the author of [2], I strongly recommend everyone watch Freya's video summary of Bezier curves in addition to this tour de force. They're both authoritative works.

Seconded. A lot of the video runtime is covering fairly well known topics, but there are moments of brilliance, where it made things "click" for me. The treatment of the characteristic matrix and how the same matrix can derive both t and point parameterizations was particularly insightful.

Indeed, there were a number of places where I had that "...this never occurred to me, this is fantastic" moment, too.

Re: The Continuity of Splines [video]

#23

Earlier quoted context omitted.

Seconded. A lot of the video runtime is covering fairly well known topics, but there are moments of brilliance, where it made things "click" for me. The treatment of the characteristic matrix and how the same matrix can derive both t and point parameterizations was particularly insightful.

Indeed, there were a number of places where I had that "...this never occurred to me, this is fantastic" moment, too.

Great video.

One fun basis for 3rd degree parametric polynomials that Freya skipped is a basis of values through which a polynomial can be interpolated. You can pick any 4 nodes in the interval, but I recommend [0, 0.25, 0.75, 1] for the least erratic behavior.

Example: https://observablehq.com/@jrus/bez-cheb – try dragging the blue dots.

Or for a higher degree polynomial, choose "Chebyshev nodes": equally spaced points on a semicircle projected down onto the diameter. This is one of the most "intuitive" control methods for manipulating a single parametric polynomial segment; the downside of this basis is that it doesn't facilitate matching boundary slope (etc.) between adjacent segments.

The "Hermite" basis (which is equivalent to the Bernstein basis up to some constant scale factors in the 3rd degree case) is in a certain sense what you get when you instead pick the nodes [0, 0, 1, 1] to interpolate; that gives you a double root at each end so you can also pick the slope there.

* * *

Freya: if you are looking for a next project, animating Raph’s excellent PhD thesis would be a great public service. :-) https://levien.com/phd/thesis.pdf

For something a bit easier, chord-length parametrized splines are surprisingly effective, definitely worth playing around with. e.g. the natural cubic spline using chord length for parameter spacing. Implementation (but no demo) here: https://observablehq.com/@jrus/cubic-spline#parametric_NCS

Re: The Continuity of Splines [video]

#24

this is almost a 1:1 copy of the Bezier curve video posted some months ago. how is this video getting attention? Even has the same graphics...

The primary focus of this video is on continuity, and the various kinds, which wasn’t really touched on in her earlier video.

Re: The Continuity of Splines [video]

#26
Is there any general rule that systems that have 'continuity' also having sensitivity to initial conditions? I can't help but think of chaos theory[0] when Freya describes the C2 continuous spline in the section on "Cascading Loss of Control" [1], and how it "yeets off to fucking wherever" (which is a great line).

[0] https://en.wikipedia.org/wiki/Chaos_theory

[1] https://www.youtube.com/watch?v=jvPPXbo87ds&t=1308s

Re: The Continuity of Splines [video]

#27
post #26

Is there any general rule that systems that have 'continuity' also having sensitivity to initial conditions? I can't help but think of chaos theory[0] when Freya describes the C2 continuous spline in the section on "Cascading Loss of Control" [1], and how it "yeets off to fucking wherever" (which is a great line). [0] https://en.wikipedia.org/wiki/Chaos_theory [1] https://www.youtube.com/watch?v=jvPPXbo87ds&t=1308s

Super good question. My thesis has both G2 and G4 continuous splines based on polynomial spirals ("spiro curves"), and the G4 definitely has more "wiggles," ie sensitivity to perturbations of the inputs. I imagine there is likely a general principle trading off locality with continuity, but am not able to quantify that rigorously.

Re: The Continuity of Splines [video]

#29

Earlier quoted context omitted.

Indeed, there were a number of places where I had that "...this never occurred to me, this is fantastic" moment, too.

Great video. One fun basis for 3rd degree parametric polynomials that Freya skipped is a basis of values through which a polynomial can be interpolated. You can pick any 4 nodes in the interval, but I recommend [0, 0.25, 0.75, 1] for the least erratic behavior. Example: https://observablehq.com/@jrus/bez-cheb – try dragging the blue dots. Or for a higher degree polynomial, choose "Chebyshev nodes": equally spaced poi…

Ooh, the Chebyshev basis is neat. I hadn't seen exactly that before. It reminds me a lot of the "shape control" technique[1] which is also similar to a basis function approach but has a bit of linear solving. Essentially, you get one point (usually at t = 0.5), and also the direction but not magnitudes of the tangents at the endpoints (G1, not C1). This is one of the better-performing existing techniques for offset curve, though does have stability problems (in particular, nasty behavior for a symmetric "S" curve).

Regarding collaboration with Freya, if she is open to it, please get in touch. I do have some ideas.

[1]: A New Shape Control and Classification for Cubic Bézier Curves, Yang and Huang, 1993, PDF cache: https://github.com/paperjs/paper.js/files/752955/A.New.Shape...

Re: The Continuity of Splines [video]

#30
post #26

Is there any general rule that systems that have 'continuity' also having sensitivity to initial conditions? I can't help but think of chaos theory[0] when Freya describes the C2 continuous spline in the section on "Cascading Loss of Control" [1], and how it "yeets off to fucking wherever" (which is a great line). [0] https://en.wikipedia.org/wiki/Chaos_theory [1] https://www.youtube.com/watch?v=jvPPXbo87ds&t=1308s

Super good question. My thesis has both G2 and G4 continuous splines based on polynomial spirals ("spiro curves"), and the G4 definitely has more "wiggles," ie sensitivity to perturbations of the inputs. I imagine there is likely a general principle trading off locality with continuity, but am not able to quantify that rigorously.

Hey Raph, thanks for the answer! Very interesting!
Post reply on HN