NURBS blending functions and curves
Demonstration program

Author: Sam Buss

This program interactively demonstrates a non-uniform rational B-spline
curve (NURBS) and the N_{i,m} blending functions.
This page accompanies the planned second edition
of 3D Computer Graphics:
A mathematical approach with OpenGL,
by Sam Buss, Cambridge University Press, 2003. See
that book for the mathematical background.
The latest draft of the second edition is available online
from the web page for the second edition.

Instructions:

First select the degree k or the order m,
and the number of knot positions. The degree can be no larger than 3;
the order can be no larger than 4.

Optionally set
the minimum and maximum values for the knots.

In the first graph, click and drag the knot positions to change their values.
Do this, by clicking on the small red circles on the number line
Repeated knot positions stack up vertically.

Click an "N_{i,m}" button to highlight a single knot position
and blending function, and the corresponding control point.

In the lower graph, move a control point by clicking
and dragging to the desired position.