Interactive geometry tool

Explore NURBS curves interactively.

Move control points, inspect their coordinates and basis functions, adjust rational weights, and experiment with knot multiplicity.

NURBS formulation The curve is a weighted combination of the control points \(\mathbf{P}_i\). The rational basis \(R_{i,p}(u)\) is obtained by normalizing the weighted B-spline basis \(N_{i,p}(u)w_i\).
\[\mathbf{C}(u)=\sum_{i=0}^{n}R_{i,p}(u)\,\mathbf{P}_i\]
\[R_{i,p}(u)=\frac{N_{i,p}(u)\,w_i}{\displaystyle\sum_{j=0}^{n}N_{j,p}(u)\,w_j}\]
Select a knot parameter
3
Coordinates shown here.
Selected basis value shown here.

Rational basis functions

Inspect how each basis contributes along the parameter domain.
Rᵢ,ₚ(u)

NURBS curve editor

Drag control points and tune their rational weights.
Select a control point

Knot vector and multiplicities

For an interior knot with multiplicity m, continuity is Cp-m.

“Apply” inserts the selected knot repeatedly until the requested multiplicity is reached. Knot insertion preserves the curve shape while adding control points. Degree elevation is computed in homogeneous coordinates by fitting the elevated spline space, so the displayed shape is preserved to numerical precision.