Is it possible to build a circle with quadratic Bézier curves?

No, you can only produce some good approximations for sufficiently small arcs. Bezier curves can be parametrized as $(x(t),y(t))$ where $x,y$ are polynomials in $t$. To run on a circle arc, wlog. the unit circle, we must have $x(t)^2+y(t)^2=1$ for all $t$. If wlog. $d:=\deg x\ge \deg y$ then $x(t)^2+y(t)^2$ is a polynomial of degree $2d$ and can conincide with the constant $1$ only if $d=0$. That is: A nonconstant Bézier curve (even of higher than quadratic degree) cannot describe an arc.


That depends on what you mean. If you're looking for a planar Bézier curve which describes a circular arc in that plane, the existing answers are correct that it isn't possible.

However, if you're willing to consider a Bézier curve in 3D which forms a perfect circular arc when viewed from the correct point (i.e. with a perspective projection; this is also known as "rational Bézier curves"). E.g. these notes show how to construct any conic section with rational quadratic Béziers.[Now 404s and not in archive.org].

And these notes handle the case of a circular arc explicitly: Diagram of circular arc as quadratic rational Bézier curve

This works for $\theta < \pi$ (or $\theta = \pi$ using homogeneous coordinates); for a full circle, you need more than one arc.


Quadratic Bezier curves are parabolas, so can only represent circular arcs approximately.

Cubic Bezier curves are very popular (e.g. they are used in Postscript, SVG, and most drawing and CAD programs). Again, they can only represent circular arcs approximately, but the approximation might be good enough for your needs. Many drawing programs use four 90-degree cubic segments to represent a complete circle, and I'm not aware of any flood of accuracy complaints.

You can look at this site for a simple method that uses four cubic Bezier curves and gives an approximation whose maximum error is 0.0196% of the radius. This might be good enough for your application.

Higher degree Bezier curves can produce even better approximations, of course, but the computational costs are obviously higher. Look at this answer for details.

Rational quadratic curves can exactly represent circular arcs (and other conic section curves).

A final thought ... if you want to be able to represent circles exactly, why not use circular arcs as your basic curve form. In 2D, you can have a curve defined by its end-points and a "bulge" parameter. When the bulge is non-zero, you get a circular arc, and when its zero you get a straight line. To get "free-form" curves, you just string together these basic curves. Circular arcs make many computations easy: they are easy to intersect, easy to offset, and its easy to compute their arclength and distance to them. These four basic computations are much more difficult with quadratic Bezier curves.

Another final thought :-) : if you draw a circle using sine and cosine functions on a computer, it's still an approximation. It's just that the approximation is hidden inside your computer's implementation of the sine and cosine functions.