This site is best view with a CSS2 capable browser, such as Netscape 6+ and IE 5.5+

Section that deals with techniques mostly used in relation with drawn images (images expressed by lines, contours and coloured areas rather bitmap/raster images).

- Introduction to Bezier curves
- Inflection points of a cubic Bezier
- 3
algorithms for fast, precision driven, piecewise degree reduction of cubic
Bezier curves - in plain speak: "Approximating a cubic Bezier by
quadratic Bezier segments". Some words:
- There exists a solution for the Bezier degree reduction: google for the "Bezier degree reduction least-squares". If unable to find anything, the "3D Game Engine Design (first edition)" by Dave Eberly was recommended to me as containing a full discussion of this algorithm.
- The discusions I had seems to indicate that, albeit more general, the least-square algorithm becomes computational expensive if applied to the adaptive subdivision. Since I haven't (yet) studied the details of the least-square algorithm for Bezier curve degree reduction, I can't compare the performance (but stay tuned... I intend to do it)
- Finally, the reason for the article stays in the Timothée Groleau's article: when I first read it (back in 2003) I said to myself that there should be a better way.

- Defect comparison between midpoint
quadratic apprximation of a cubic Bezier and a custom chosen quadratic
- for those interested to compare the quality of midpoint approximation
quadratic of a cubic Bezier with other approximating quadratics.

Finally, after many years spent procrastinating, I managed to finish a clean room implementation for the algorithms exposed by the the first 3 articles... you can download:

- the source code - take the
`com.caffeineowl.graphics.bezier.BezierUtils`as the starting point in your digging it contains the algorithms implemented as static methods) – all the other classes are helpers or "strategy" classes: while you'll still need to understand them as well, a better context to see what's with them is given by the`BezierUtils`' methods

(maybe needles to mention: you'll need to unzip the jar file) - a runnable jar, showing something that's not
yet published: an exploration into different algorithms to compute the flatness of
a cubic/quadratic Bezier. Safe to launch using
`java -jar bezier-utils.jar`. - the Javadoc as a downloadable archive or feel free to explore it online

The content of this site is copyrighted by Adrian Colomitchi. Please consult the copyright notice before doing anything except reading/browsing/printing pages of this site.