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 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.