Bezier Curve as Easing Function in C++
Posted4 months agoActive4 months ago
asawicki.infoTechstory
calmpositive
Debate
20/100
C++Bezier CurvesEasing Functions
Key topics
C++
Bezier Curves
Easing Functions
The article discusses implementing Bezier curves as easing functions in C++, sparking a discussion on precision, performance, and potential extensions of the technique.
Snapshot generated from the HN discussion
Discussion Activity
Light discussionFirst comment
2h
Peak period
1
1-2h
Avg / period
1
Key moments
- 01Story posted
Sep 20, 2025 at 9:27 AM EDT
4 months ago
Step 01 - 02First comment
Sep 20, 2025 at 11:20 AM EDT
2h after posting
Step 02 - 03Peak activity
1 comments in 1-2h
Hottest window of the conversation
Step 03 - 04Latest activity
Sep 20, 2025 at 6:06 PM EDT
4 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45313194Type: storyLast synced: 11/20/2025, 3:50:08 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Meanwhile, I wonder to what extent the reported improvement over Blender's cubic solver has to do with the approximations this library makes [0]. Algebraic cubic-solving seems to be well-trodden ground (this library's formulas look similar to those in a paper by Holmes [1]), so faster approximations in a limited range can definitely be appropriate to obtain a further speedup, but I would've liked to see a more thorough accuracy analysis.
[0] https://github.com/jurgus/EasingCubicBezier/blob/5b07bd9d316...
[1] https://users.math.msu.edu/users/newhous7/math_235/lectures/...
Do you have a better suggestion for a baseline that compares the author’s method? To clarify, it’s clear that this is not evaluating cubics, it’s solving/inverting them, right? The known analytic methods for solving cubics do usually have some precision issues in fp32, depending on what one needs, which is why my question is about precision. (And also wouldn’t mind hearing about the Newton threshold vs perf, since the presentation doesn’t mention it.)
For Newton's method vs. algebraic methods, I was mainly looking at the "Test results" section of TFA. It looks like I actually misread the graphs somewhat, in that the "numeric solutions" (i.e., Newton's method) both seem to have better average-case performance than the "Blender" methods, but the worst-case performance would worry me. Meanwhile, I know from experience that quartic formulas are pointlessly convoluted compared to iterative methods, so that's where I'd place the threshold.
It's very annoying that the authors don't actually mention where in Blender they got that algebraic method for comparison (Blender has a sprawling codebase with multiple Bézier-curve implementations and even more cubic solvers), nor do they provide the code they used for Newton's method, nor do they fully talk in their paper about how they obtained their own formulas.
They seem not to have put any focus on precision, so I'd assume by default that there are all sorts of pasdroblematic edge cases. Really, precision issues are always a pain when solving polynomials. I can't claim to have any special knowledge about the techniques and tradeoffs in a machine-precision context, since most of what I've played with has been arbitrary-precision arithmetic.