Blossoming Development of Splines - Mann, Stephen (Synthesis Lectures on Computer Graphics and Animation, 2006)
In this lecture, we study Bézier and B-spline curves and surfaces, mathematical representations for free-form curves and surfaces that are common in CAD systems and are used to design aircraft and automobiles, as well as in modeling packages used by the computer animation industry. Bézier/B-splines represent polynomials and piecewise polynomials in a geometric manner using sets of control points that define the shape of the surface. The primary analysis tool used in this lecture is blossoming, which gives an elegant labeling of the control points that allows us to analyze their properties geometrically. Blossoming is used to explore both Bézier and B-spline curves, and in particular to investigate continuity properties, change of basis algorithms, forward differencing, B-spline knot multiplicity, and knot insertion algorithms. We also look at triangle diagrams (which are closely related to blossoming), direct manipulation of B-spline curves, NURBS curves, and triangular and tensor product surfaces.