I don't think of Bézier curves as implicit in any way. There's an explicit equation for the curve, as a parameter of "time" (0 at the beginning of the curve, 1 at the end, increasing monotonically in between).
I don't think of Bézier curves as implicit in any way. There's an explicit equation for the curve, as a parameter of "time" (0 at the beginning of the curve, 1 at the end, increasing monotonically in between).
The gist of a Bezier curve is "Take weighted averages, repeatedly".
For beziers you might explicitly evaluate them at time t if you're doing animation of implicitly evaluate them at position x,y if you're rendering them.
It would make the already excellent article even better if you simply linked to the relevant[1] Wikipedia page.
Similarly, for 3D, you really want parametric surfaces[2], which NURBS are.
For the readers:
The key difference: to plot an implicit curve, you need to solve an equation, which is a whole another can of worms. Solving equations is hard. For high-degree equations, there are no formulas for solutions!
To plot a parametric curve, you just need to plug numbers into some formulas. That's much easier!
The problem discussed in the article is that even if you have an explicit parametrization, answering questions like "Where does this curve/surface intersect this ray?" involves equation-solving. And that's hard. As would be something like "represent this curve/surface with segments/triangles of uniform size".
TL;DR: implicit is something for which you don't have a formula. Bezier and NURBS have easy formulas; they are parametric.
[1]https://en.wikipedia.org/wiki/Parametric_equation#Explicit_e...
Another thing possibly of value: where Bezier curves come from - automotive design. The machines that were tracing these curves out needed to solve the forward problem (where should the tool head be at time t?), and the designers needed an easy way to change the shape of the curve. The Bezier splines were (and still are) a great solution to that problem.
For that reason, it's easy to convert Bezier splines into G-Code for either plotter - or, these days - 3D printer.
Also, sampling the parametric form does give you a polygon (or a polygonal mesh), which is easier to work with. But that's another can of worms.
That's not strictly true - you could choose a numerical algorithm like Newton-Raphson.
3D B-rep modelers will typically solve x,y,z on curve that way because many of the curves won't have an implicit form of any reasonable low degree. In fact, some of them won't have an implicit form at all.
But I thought in this case, perhaps this was a big deal. I thought one of the reasons why 2D graphics and 3D graphics are so different is because of ... is it topology? ... For any arbitrarily complex curve, I think I can give you a 1D parameterization for it. At least to some desired accuracy.
What condition is required of a surface so that you can do the same, with a 2D parameterization?
If you haven't see it already, read this paper by Laurent Boue: "Real numbers, data science and chaos: How to fit any dataset with a single parameter"