# What is the difference between natural cubic spline, Hermite spline, Bézier spline and B-spline?

I am reading a book about computer graphics. It is confusing about the various splines and their algorithms.

What is the difference between natural cubic spline, Hermite spline, Bézier spline and B-spline?

Roughly speaking ...

A spline is a curve that's formed from a collection of simple segments strung end-to-end so that their junctions are fairly smooth. There are exotic splines that use trigonometric and hyperbolic functions, but most splines consist of polynomial segments, so those are the only ones considered in the discussion below.

If there is only one (polynomial) segment, the spline is often called a Bézier curve.

If each segment is expressed in Bézier form (using Bernstein basis functions), then you might say that the spline is a "Bézier spline", though this term is not standard, AFAIK.

If each polynomial segment has degree 3, the spline is called a cubic spline.

If each segment is described by its ending positions and derivatives, it is said to be in "Hermite" form.

The b-spline approach gives a way of ensuring continuity between segments. In fact, you can show that every spline can be represented in b-spline form. So, in that sense, every spline is a b-spline.

For more than you would ever want to know about the subject, you can search for "spline" or "b-spline" in this bibliography.

• The family of splines had a lot of members, but I just want to add the A-spline (A for algebraic, so, each segment is an algebraic curve), also useful in Computer Graphics. B-splines are Basis splines and that's way you can say that every spline with polynomial segments can be represented in this basis, i.e. in B-spline form. – rafaeldf Oct 24 '13 at 19:59
• Take account that all splines that you mentioned: Bezier (and rational Bernstein-Bezier) splines, Hermite splines and B-splines, gives a way of ensuring (at least) continuity between segments. So, that isn't a feature that distinguish B-splines between all them. – rafaeldf Oct 24 '13 at 20:12
• @bubba How can you ensure continuity between segments with B-splines? Is it because the derivatives are continues? – user105627 Jan 6 '17 at 10:48