News for hackers. Stuff that matters.
Re:Why are 2D vector graphics so much harder than 3D? by romwell on Thursday May 09, 2019 @07:15PM (#19873436)
>Technically they are parametric curves

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...

[2]https://en.wikipedia.org/wiki/Parametric_surface

Re:Why are 2D vector graphics so much harder than 3D? by Jasper_ on Thursday May 09, 2019 @07:24PM (#19873505)
The implicit form is what's used when rasterizing, because we have the opposite problem: we don't care about the value of a specific bezier function at specific time t, we care about whether the pixel at location x,y is on inside the path created by a number of bezier segments (but it's even more complicated, because of winding order). That can't be solved with the parametric form alone.
Re:Why are 2D vector graphics so much harder than 3D? by romwell on Thursday May 09, 2019 @08:04PM (#19873779)
Indeed, but the terminology used in mathematics is very clear. So perhaps add this snippet to the article?

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.

Re:Why are 2D vector graphics so much harder than 3D? by delhanty on Thursday May 09, 2019 @08:41PM (#19873997)
>That can't be solved with the parametric form alone.

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.