A commonly desired property of splines is for them to join their individual curves together with a specified level of parametric or geometric continuity. While individual curves in the spline are fully C ∞ {\displaystyle C^{\infty }} continuous within their own interval, there is always some amount of discontinuity where different curves meet.
The Bézier spline is fairly unique in that it's one of the few splines that doesn't guarantee any higher degree of continuity than C 0 {\displaystyle C^{0}} . It is, however, possible to arrange control points to guarantee various levels of continuity across joins, though this can come at a loss of local control if the constraint is too strict for the given degree of the Bézier spline.
Given two cubic Bézier curves with control points [ P 0 , P 1 , P 2 , P 3 ] {\displaystyle [\mathbf {P} _{0},\mathbf {P} _{1},\mathbf {P} _{2},\mathbf {P} _{3}]} and [ P 3 , P 4 , P 5 , P 6 ] {\displaystyle [\mathbf {P} _{3},\mathbf {P} _{4},\mathbf {P} _{5},\mathbf {P} _{6}]} respectively, the constraints for ensuring continuity at P 3 {\displaystyle \mathbf {P} _{3}} can be defined as follows:
While the following continuity constraints are possible, they are rarely used with cubic Bézier splines, as other splines like the B-spline or the β-spline7 will naturally handle higher constraints without loss of local control.
In case circular arc primitives are not supported in a particular environment, they may be approximated by Bézier curves.9 Commonly, eight quadratic segments10 or four cubic segments are used to approximate a circle. It is desirable to find the length k {\displaystyle \mathbf {k} } of control points which result in the least approximation error for a given number of cubic segments.
Considering only the 90-degree unit-circular arc in the first quadrant, we define the endpoints A {\displaystyle \mathbf {A} } and B {\displaystyle \mathbf {B} } with control points A ′ {\displaystyle \mathbf {A'} } and B ′ {\displaystyle \mathbf {B'} } , respectively, as:
From the definition of the cubic Bézier curve, we have:
With the point C ( t = 0.5 ) {\displaystyle \mathbf {C} (t=0.5)} as the midpoint of the arc, we may write the following two equations:
Solving these equations for the x-coordinate (and identically for the y-coordinate) yields:
Note however that the resulting Bézier curve is entirely outside the circle, with a maximum deviation of the radius of about 0.00027. By adding a small correction to intermediate points such as
the magnitude of the radius deviation to 1 is reduced by a factor of about 3, to 0.000068 (at the expense of the derivability of the approximated circle curve at endpoints).
We may approximate a circle of radius R {\displaystyle R} from an arbitrary number of cubic Bézier curves. Let the arc start at point A {\displaystyle \mathbf {A} } and end at point B {\displaystyle \mathbf {B} } , placed at equal distances above and below the x-axis, spanning an arc of angle θ = 2 ϕ {\displaystyle \theta =2\phi } :
The control points may be written as:11
TrueType fonts use composite Béziers composed of quadratic Bézier curves (2nd order curves). To describe a typical type design as a computer font to any given accuracy, 3rd order Béziers require less data than 2nd order Béziers; and these in turn require less data than a series of straight lines. This is true even though any one straight line segment requires less data than any one segment of a parabola; and that parabolic segment in turn requires less data than any one segment of a 3rd order curve.
Eugene V. Shikin; Alexander I. Plis (14 July 1995). Handbook on Splines for the User. CRC Press. p. 96. ISBN 978-0-8493-9404-1. 978-0-8493-9404-1 ↩
Microsoft polybezier API http://msdn2.microsoft.com/en-us/library/ms534244.aspx ↩
Papyrus béziergon API reference http://libpapyrus.sourceforge.net/guide_beziergon.html ↩
"A better box of crayons". InfoWorld. 1991. https://books.google.com/books?id=nFAEAAAAMBAJ&dq=bezigon+curve&pg=PA85 ↩
Rebaza, Jorge (24 April 2012). A First Course in Applied Mathematics. John Wiley & Sons. ISBN 9781118277157. 9781118277157 ↩
(Firm), Wolfram Research (13 September 1996). Mathematica ® 3.0 Standard Add-on Packages. Cambridge University Press. ISBN 9780521585859. 9780521585859 ↩
Goodman, T.N.T (9 December 1983). "Properties of β-splines". Journal of Approximation Theory. 44 (2): 132–153. doi:10.1016/0021-9045(85)90076-0. https://doi.org/10.1016%2F0021-9045%2885%2990076-0 ↩
DeRose, Anthony D. (1 August 1985). "Geometric Continuity: A Parametrization Independent Measure of Continuity for Computer Aided Geometric Design". https://www2.eecs.berkeley.edu/Pubs/TechRpts/1986/6081.html ↩
Stanislav, G. Adam. "Drawing a circle with Bézier Curves". Retrieved 10 April 2010. http://whizkidtech.redprince.net/bezier/circle/ ↩
"Digitizing letterform designs". Apple. Retrieved 26 July 2014. https://developer.apple.com/fonts/ttrefman/RM01/Chap1.html ↩
DeVeneza, Richard. "Drawing a circle with Bézier Curves" (PDF). Retrieved 10 April 2010. http://www.tinaja.com/glib/bezcirc2.pdf ↩