NURBS n P(u) = ∑ wiNi,k(u)pi i=0 n ∑ wiNi,k(u) i=0 NURBS curve degree = k-1 P0, P1,..Pn – control points Knot vector u = (u0, u1…um) W= (w0, w1…wm) – weight non negative The number of control points and the number of weights must agree Use homogenous coordinates
NURBSIf all wi are set to the value 1 or all wi have the same value we have the standard B-Spline curveNURBS curve equation is a general form that can represent both B-Spline and NURBS curves. A Bezier curve is a special case of a B-Spline curve, so the NURBS equation can also represent Bezier and rational Bezier curves.
NURBS :important properties NURBS have all properties of B-Spline.(pls refer to the notes) Extra properties More versatile modification of a curve becomes possible if the curve is represented by a NURBS equation. It is due to B-spline curve is modified by changing the x, y, z coord, but NURBS curve use homogenous coord (x, y, z, h) Or B-Spline (degree, control points & knots) but NURBS (degree, control points, knots & weights)
NURBS :important properties• Extra properties (cont) – NURBS equations can exactly represent the conic curves (circles, ellipse, parabola…) – Projective invariance If a projective transformation is applied to a NURBS curve, the result can be constructed from the projective images of its control points. Therefore, we do not have to transform the curve. We can obtain the correct view (no distortion). * Bézier curves and B-spline curves only satisfy the affine invariance property rather than this projective invariance property. This is because only NURBS curves involve projective transformations.
NURBS : modifying weightsincreasing the value of wi will pull the curve toward control point Pi. In fact, all affected points on the curve will also be pulled in the direction to PiWhen wi approaches infinity, the curve will pass through control point Pidecreasing the value of wi will push the curve away from control point Pi
Knot Insertion : NURBSthree steps: (1) converting the given NURBS curve in 3D to a B-spline curve in 4D(2) performing knot insertion to this four dimensional B-spline curve (3) projecting the new set of control points back to 3D to form the the new set of control points for the given NURBS curve.
Knot Insertion : NURBS u0 to u3 u4 u5 to u8 0 0.5 1 EXAMPLE a NURBS curve of degree 3 with a knot vector as follows: 5 control points in the xy-plane and weights: Insert new knot t = 0.4 P0 P1 P2 P3 P4 X -70 -70 74 74 -40 Y -76 75 75 -77 -76 w 1 0.5 4 5 1
Knot Insertion : NURBSt= 0.4 lies in knot span [u3 ,u4)the affected control points are P3, P2, P1 and P0.1) convert to 3D B-Spline (homogenous coord) multiply all control points with their corresponding weights Pw0 Pw1 Pw2 Pw3 X -70 -35 296 370 Y -76 37.5 300 -385 w 1 0.5 4 5
Knot Insertion : NURBS3) Projecting these control points back to 2D by dividing the first two components with the third (the weight),Q3 = (74, 5.9 ) with weight 4.4Q2 = (51.3, 75 ) with weight 1.9Q1 = (-70, 24.6) with weight 0.6
Knot Insertion : NURBS after *control points in the xy-plane and weights knot insertion P0 Q1 Q2 Q3 P3 P4 X -70 74 51.3 -70 74 -40 Y -76 5.9 75 24.6 -77 -76 w 1 4.4 1.9 0.6 5 1 *new knot vector u0 to u3 u4 u5 u6 to u9 0 0.4 0.5 1