A spline functionS of degree d is a function on a closed interval [a,b] which is piecewise defined by polynomials of degree ≤ d on a set of disjoint subintervals of [a,b], and has a certain degree of smoothness on each intersection point of neighbouring intervals. The intervals and degree of smoothness are defined by a knot vector {t_{i}} where a = t_{0 }≤ t_{1 }≤ ... ≤ t_{k} = b.

A polynomial spline function is a spline function which is polynomial on each parameter interval. The polynomial spline functions defined by a specific degree and knot vector form a vector space which uses B-splines as a basis.

A rational spline function, or NURBS (Non-Uniform Rational Basis Spline), is a spline function F/G where F and G are polynomial spline functions of the same spline space. A polynomial spline function is a special case of a NURBS, where G = 1. Rational spline functions have the advantage that they can represent conic sections exactly, which can only be approximated by polynomial splines. On the other hand, many computational tasks are simpler and faster with polynomial splines than with NURBS.