# General way of modeling Bézier curves and circles

So it turns out that you can't totally model circles with Bézier curves:

How to create circle with Bézier curves?

I'm wondering if there is a mathematical system or construction that unifies circles, straight lines, and Bézier curves into a single formalism. I get that you could just say that formalism is "equations", but I'm wondering if there is anything in between each of these specific categories, and the general category of equations, for modeling these 3 different kinds of pretty general geometric constructions.

In SVG you can model ellipses or parts of ellipses with the a or A command:

M 0 50 L 10 50 A 30 20, 0, 0 0, 90 50 L 100 50


While for Bézier curves you use the c or C command.

M100,250 C100,100 400,100 400,250


Likewise, for lines you use other commands.

Basically I'm wondering, independent of SVG, if there is any unified system for this.

• If I am right, the NURBS can model all of these. – Yves Daoust Jan 10 at 18:49
• @YvesDaoust: You are indeed right: non-uniform rational B-splines are that generalization. SVG paths actually support cubic (third degree curves), quadratic (second degree curves), and circular or elliptic arcs. These suffice for visuals (we know from decades of experience with PostScript), and NURBS support would have just made the format unnecessarily complex. Most computer aided design (CAD) software do support NURBS curves and patches. – Nominal Animal Jan 10 at 20:42

• Most drawing/graphics APIs that I'm aware of do not support rational curves. CAD standards like IGES and STEP do, though. And you are correct that setting all weights to $1$ (or to any fixed constant) causes cancellation and your rational curve becomes a plain ordinary polynomial one. – bubba Jan 14 at 6:03