A rational B-spline curve is the projection of a nonrational B-spline curve defined in four-dimensional homogeneous coordinate space back to the three-dimensional physical space.
A rational B-spline curve is defined as
where B_i^h
are the four-dimensional homogeneous control polygon vertices for the nonrational four-dimensional B-spline curve and N_{i,k}(t)
is the nonrational B-spline basis function.
Projecting into the three-dimensional space by dividing through by thr homogeneous coordinate yelds
here the B_i
are the three-dimensional control polygon vertices and R_{i,k}(t) = \dfrac{h_iN_{i,k}(t)}{\sum_{i=1}^{n+1}h_iN_{i,k}(t)}
are the rational B-spline basis function where h_i>0
for every value of i
.
RB-spline are a generalization of nonrational B-spline, thus they carry forward nearly all the analytic and geometric characteristics:
- Every rational basis function is positive or zero for all parameter values.
- The sum of the rational B-spline basis functions for any value of
t
is one. - Each basis function has one maximum, except for the first order basis.
- The maximum order of the rational B-spline is equal to the number of control polygon vertices.
- A RB-spline generally follows the shape of the control polygon.
To generate RB-spline basis functions and curves are used open uniform, periodic uniform and nonuniform knot vectors.
The homogeneous coordinates h_i
, also called homogeneous weight factors, provide additional blendig capability, i.e. as a certain weight h_j
increases the curve is pulled closer to the polygon vertex B_j
.
The derivatives are obtained by formal differantiation of the curve's function
where
For example, evaluating this result at t=0
and t=n-k+2
and
Higher order dervatives are obtained in a similar manner.