# 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?

-
Which book? Did you try wikipedia? –  lhf Jan 7 '12 at 20:35

Roughly speaking ...

A spline is a curve that's formed from a collection of polynomial segments strung end-to-end so that their junctions are fairly smooth.

If there is only one segment, the spline is often called a Bezier curve.

If each segment is expressed in Bezier form (using Bernstein basis functions), then you might say that the spline is a "Bezier 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.

-
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