Collaboration diagram for NURBS:


This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.

## Files

file  nurb_example.c

file  oslo_map.c

file  nurb_basis.c

file  nurb_bezier.c

file  nurb_bound.c

file  nurb_c2.c

file  nurb_copy.c

file  nurb_diff.c

file  nurb_eval.c

file  nurb_flat.c

file  nurb_interp.c

file  nurb_knot.c

file  nurb_norm.c

file  nurb_plot.c

file  nurb_poly.c

file  nurb_ray.c

file  nurb_refine.c

file  nurb_reverse.c

file  nurb_solve.c

file  nurb_split.c

file  nurb_tess.c

file  nurb_trim_util.c

file  nurb_util.c

file  nurb_xsplit.c

## Functions

void rt_nurb_map_oslo (struct oslo_mat *oslo, fastf_t *old_pts, fastf_t *new_pts, int o_stride, int n_stride, int lower, int upper, int pt_type)

fastf_t rt_nurb_basis_eval (register struct knot_vector *knts, int interval, int order, fastf_t mu)

## Function Documentation

 void rt_nurb_map_oslo ( struct oslo_mat * oslo, fastf_t * old_pts, fastf_t * new_pts, int o_stride, int n_stride, int lower, int upper, int pt_type )

Definition at line 45 of file oslo_map.c.

 fastf_t rt_nurb_basis_eval ( register struct knot_vector * knts, int interval, int order, fastf_t mu )

This uses the traditional De Boor-Cox algorithm,

D[k, i] (u) =

```  U[i+n-k] - mu                   mu - U[i-1]
________________ D[k-1, i-1] (mu)+_________________  D[k-1, i] (mu)
U[i+n-k] - U[i-1]                    U[i+n-k] - U[i-1]
```

For U[i-1]] <= mu < U[i] where U is the knot vector, k is the order, and i is the interval. If the denominator is zero than the term is zero.

Arguments - knts - knot vector of type (struct knot_vector *) interval - where the parameter mu is defined above. order - Order of the b-spline. mu - value which the basis functions are to be evaluated.

Returns - fastf_t - a floating point value of the basis evaluation.

Reference - Farin G., "Curves and Surfaces for Computer Aided Geometric Design", Academic Press, New York 1988.

Definition at line 63 of file nurb_basis.c.

References ZERO.

Referenced by rt_nurb_interp_mat().