NURBS Surface
 
The NURBS surface is defined by basis functions (in u and v), expandable arrays of knots, weights, and control points.
Data Format:
deg[2] Degree of the basis
functions (in u and v)
u_par_arr[] Array of knots on the
parameter line u
v_par_arr[] Array of knots on the
parameter line v
wghts[] Array of weights for
rational NURBS, otherwise
NULL
c_point_arr[][3] Array of control points
Definition:
k = degree in u
l = degree in v
N1 = (number of knots in u) - (degree in u) - 2
N2 = (number of knots in v) - (degree in v) - 2
Bi,k = basis function in u
Bj, l = basis function in v
wij = weights
Ci, j = control points (x,y,z) * wi,j
Engineering Notes:
The weights and c_points_arr arrays represent matrices of size wghts[N1+1] [N2+1] and c_points_arr [N1+1] [N2+1]. Elements of the matrices are packed into arrays in row-major order.
Was this helpful?