The Continuity of Splines

Freya Holmér10 HN recommenders · 2022–2026
1.9M views · explainer · evergreen · Uploaded 2022-12-07

Freya Holmer's 74-minute video essay on splines, covering Bezier curves, B-splines, derivatives and the different levels of continuity (C0, C1, C2), built with custom animation tools. She notes she did not cover non-uniform splines.

It is the go-to recommendation for anyone who wants to genuinely understand Bezier curves and splines, and commenters repeatedly call it one of the best programming-related educational videos.

Watch on YouTube

20 comments from Hacker News

@zengid2022 · in “The Continuity of Splines – Video Essay by Freya Holmér”

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] [LINK] [1] [VIDEO]

@scotty792022 · in “Ask HN: Programs that saved you 100 hours? (2022 edition)”

Short chrome browser extension I wrote some time ago that rewrites normal urls to videos like this: [VIDEO] into embedded video urls like this [VIDEO] bypassing ads and running video in full browser window. Since I watch a lot of youtube I think it might have saved me 100 hours of waiting so I can press Skip Ad button. I probably should just use AdBlock but where's the fun in that.

@AceJohnny22022 · in “Apple's Unique Device Curvature”

Another upvote for Freya Holmér's amazing video "The Continuity of Splines". She covers the insightful "reflection test" around the 28:05 mark: [VIDEO] and actual "curvature combs" at 32:26. Finally, she covers the continuity of curvature combs that B-Splines exhibit around the 54:00 mark: [VIDEO]

Strongly recommendsView on HN
@fuzzythinker2023 · in “Bézier Curves and the logic behind them”

Also from her - The Continuity of Splines [0]. More from her site [1]. Long interactive read from Bartosz Ciechanowski [2] [0] [VIDEO] [1] [LINK] [2] [LINK]

RecommendsView on HN
@nick-of-time2023 · in “Circles Do Not Exist”

I recommend anyone who finds this topic interesting watch the video The Continuity of Splines . It's a detailed discussion of how you derive Bèzier and higher-order curves to serve your purposes. [VIDEO]

RecommendsView on HN
@mkaic2023 · in “Exploring Quaternions (2018)”

Freya Holmer, of The Continuity of Splines [0] fame, recently gave a great conference talk about how quaternions naturally arise from the desire to define the multiplication of two vectors if you just agree to one new axiom : v^2 = ||v||^2, or "the square of a vector is equal to the square of its norm". It was fascinating and entertaining and I highly recommend anyone who finds this stuff interesting but confusing (like I do) to check it out: [LINK] [0] [VIDEO]

@zxexz2023 · in “Why can't you multiply vectors? [video]”

Oh lovely, can't wait to give this a watch. Freya dives deep, and gives wonderful talks. Her video "The Continuity of Splines"[0] is my favorite watch of the past year. [0] [VIDEO]

Strongly recommendsView on HN
@viggity2023 · in “Interpolation Methods”

If this paper is interesting to you, you may also be interested in this amazingly well done video on the continuation of splines. It isn't exactly the same thing, and delves into some deeper concepts, but I've watched it like 3 times over the last year. [VIDEO]

Strongly recommendsView on HN
@aaronblohowiak2024 · in “Look, ma, no matrices”

the splines yt video ( [VIDEO] ) is (IMHO) one of the best educational videos on a programming topic, full stop.

Strongly recommendsView on HN
@ixwt2024 · in “Hobby's algorithm for aesthetic Bézier splines (2020)”

I didn't really understand Bézier splines until I watched this excellent video [0] from Freya Holmér. It talks about various kinds of splines, and the various equations behind them. Explains the importance of the derivatives of splines (as other comments here have pointed out). [0]: [VIDEO]

Strongly recommendsView on HN
@weswilson2025 · in “Show HN: Apple-like smooth corners for Tailwind CSS”

Obligatory video on splines: [VIDEO] From what I've read, Apple rounded corners are using G^2 or G^3 geometric continuity to generate smoother curves. It's hard to tell which smoothing function this library uses since it looks like it's based on PNG masking.

RecommendsView on HN
@WillAdams2025 · in “Desmos Animated Graphing Calculator”

A wonderful example of this is: The Continuity of Splines [VIDEO] and The Beauty of Bézier Curves [LINK] by Freya Holmér [LINK] While not animated, I find: _Euclid's Elements_ (Joyce's Java Version) very helpful [LINK] Since my current project has pretty much devolved to putting a UI on various trigonometric functions and allowing the user to program them, I'd be very glad of other resources in this space (currently working through Hilbert's _Geometry and the Imagination_ and the book which matches [LINK] and just finished the _Make:Geometry/Trigonometry/Calculus_ series, and have had recommended Curves and Surfaces for CAGD: A Practical Guide by Gerald Farin)

RecommendsView on HN
@WillAdams2025 · in “Visual explanations of mathematics (2020)”

There is also Joyce's Java Version of Euclid's Elements: [LINK] and I'm still impressed by the custom Unity tools which Freya Holmér uses for her videos: [VIDEO] Wish Geogebra was both more capable and widely used: [LINK] That said, these days if I need to plot out something I just use OpenSCAD: [LINK] (or, the Python-enabled version: [LINK] )

@viggity2025 · in “Jacksonpollock.org (2003)”

If splines/beziers are of any interest to you, I could not recommend these videos from Freya Holmer enough. [VIDEO] [LINK]

Strongly recommendsView on HN
@WillAdams2025 · in “History of CAD”

I've been reading through a PDF on my Kindle Scribe which I downloaded from the original site --- it's a great overview, and most importantly, includes citations and references to the various papers where folks shared their research/progress. These days of course, one would just get _The Essentials of CAGD_ and similar texts, or read: [LINK] or watch: [VIDEO] Highly recommended for anyone who wants an understanding of how modern CAD software came about. For my part, I have found it invaluable in working on my current project as described at: [LINK]

RecommendsView on HN
@skydhash2025 · in “Dijkstra On the foolishness of "natural language programming"”

> I just need to find the perfect GUI toolkit which allows Bézier Curve representations in a way which clicks and makes sense to me, and suits my next project. Not a proper answer, but here is a very good video on splines: [VIDEO]

RecommendsView on HN
@WillAdams2025 · in “Ask HN: What cool skill or project interests you, but feels out of reach?”

For me, it's Bézier curves --- Freya Holmér has a wonderful video on them: [VIDEO] and I've been trying to read through _METAFONT: The Program_ and [LINK] and I keep wondering if I shouldn't just try scripting Inkscape.... I want to do a couple of different things, and not sure if they all fit in one project or no: - implement a single line font in my current project: [LINK] - implement a way to convert arbitrary curves into smooth arcs (for DXFs or G2/G3 arcs for G-code) - work up an interactive version of METAFONT/METAPOST which allows both programming and drawing

Strongly recommendsView on HN
@WillAdams2025 · in “A 37-year-old wanting to learn computer science”

I've been re-learning CS (programmed as a kid, then missed getting a minor in CS in college after the service by one 300-level course which wasn't being re-offered when I needed it) and then just did (La)TeX and AppleScript for my day job, but am now trying to create a tool for CNC which is quite different from those which have existed previously, and one thing which has helped a lot is MIT OCW: - the Python courses got me up-to-speed on the basics of that language: [LINK] and [LINK] - Structure and Interpretation of Computer Programs served as a disciplined review of a book which I wasn't patient enough to do the exercises of when I first read it: [LINK] - Mathematics for Computer Science helped make up for my spotty math: [LINK] I've also found the recent book: [LINK] very helpful (first reading I did one chapter at a time, re-writing my current project applying the principles of that chapter) --- interesting video overview at: [LINK] If one is fortunate, there are videos on specific subjects/algorithms which one needs, e.g., [VIDEO]

@viggity2025 · in “Bezier-rs – algorithms for Bézier segments and shapes”

Anytime béziers are mentioned on HN, I feel compelled to share these absolutely incredible videos from Freya Holmér [VIDEO] (73 minutes) [LINK] (24 minutes)

Strongly recommendsView on HN
@WillAdams2026 · in “Slicing Bezier Surfaces”

For a bit more on the lerp aspect see: [VIDEO] I am a bit bummed since from the title I was expecting a technique for 3D surfaces w/ multiple Béziers (at least 3, one for each plane) --- if someone knows of a good text on that, I'd be glad to learn of it.