That is, no matter how much art you know or math you know it is awkward to draw things with Bézier curves and it's a bit of a tragedy that NURBS and other curve families that are more intuitive to work with haven't caught on.
That is, no matter how much art you know or math you know it is awkward to draw things with Bézier curves and it's a bit of a tragedy that NURBS and other curve families that are more intuitive to work with haven't caught on.
https://inversethought.com/jordi/xsplines/
I find them super-intuitive to use. The fact that at each node you can make it close, sharp, or interpolating is quite helpful. They're also not hard to implement. You can read my js code to see how I did it.
They're implemented in Xfig and just about nowhere else. I wish they were elsewhere. I've been thinking about getting them into GNU IMP. Maybe some day I'll sit down and try to write patches for it.
The first implementations of digital fonts (before the DTP time with Adobe/Apple/Microsoft) were also using other types of curves, but Béziers won, I think because they are much more efficient to calculate, which was particularly important in the 90s (as the next step after bitmap fonts).
For all the complaints that people have about PDF files my favorite is that PDF doesn't have a primitive to draw circles (generally conics) so a 'circle' in a PDF file is always some combination of Bézier curves.
One application I like for Béziers is easing curves for animations, dimming lights, etc. Unlike the 2-d drawing case I feel like I can always get the effect I want without a fight.
I feel like it’s even more tragic that Uniform B-splines aren’t more common, especially quadratic and cubic versions. Git rid of knots, and talk specifically about degree 2 or 3, and you don’t need a PhD in math to follow the explanation. You can explain it without the sums of sums of recursive basis functions while juggling several different indices, no need to discuss knot insertion and removal. Uniform B-splines segments have a 1:1 mapping to Bézier curves, and understanding them before diving into non-uniform curves would be so helpful and actually cover two thirds of what people need and what happens in practice.
The big problem with NURBS is that the only information you can find on them dives into unwieldy math notation and discussion about knots, there’s almost nothing out there that’s simple and quick to follow, or tailored specifically to constrained cases, people writing drawing apps and games. The material all seems to be abstract and arbitrary degree and arbitrary complex uses. I feel like NURBS is a case where it becomes clear that the notation gets in the way of understanding, it truly feels like there should be a simpler notation because the concepts are easier to grok than the math.
I guess? I think most designers are so used to using the pen tools and problem solving with them that they start to become intuitive after a while. There's a bit of a learning curve (pun intended), but I think once you understand how they are implemented in Adobe products, for instance, they become pretty simple.
This Bezier game is excellent practice: https://bezier.method.ac/
To always get “fair” curves using Bézier segments requires an extreme amount of effort, and either a very good eye and a lot of experience or some additional tooling that highlights where the lumps are.
Sorry for repeating my comment, but you really should check out the the interactive examples of the closed bezier curves (which could also be open). They were designed to be intuitive as the control points are on curve.
The project is is in its infancy, yet the interactive examples are working. https://rockingship.github.io/ccbc/README.html