and the weights

As weights

Then increasing a weight

Drag the mouse to move a nearest control point (a small blue square in the left window) or change a weight (a small square in the right window colored as corresponding basis function). Drag the mouse with <Shift> to move a knot (a small black square in the right window).

As since perspective projection of a 4D point

where

4D representation of NURBS is very useful, as since all B-spline's properties are "projected" into rational spline's ones.

There are two different conventions for representing the control points
in terms of their 4D coordinates *(x,y,z,w)*:
*Homogeneous*, in which the coordinates represent the point's
position in 4D space. Thus the point's 3D position is *(x/w, y/w, z/w)*.
*Weighted Euclidean*, in which the coordinates are already considered
to have been divided through. Thus the first tree components *(x,y,z)*
directly represent the point's position in 3D space and the fourth *w*
represents its weight.

Weighted Euclidean coordinates are used in interactive
NURBS.java applet.

Conic section is an intersection of a cone with a plane. The angle at which the
plane intersects the cone determines whether the resulting curve is a circle,
ellipse, parabola or hyperbola. Conic curves are represented here using
quadratic NURBS (n=2, k=3) with the open uniform knots [0 0 0 1 1 1]:
parabola (w), hyperbola
(_{1} = 1w) and ellipse (_{1} = 4w).
_{1} = 1/4 |

- The legs of the control triangle are of equal length (i.e. it is isosceles).
- The chord connecting the first and the last control points meets each leg at
an angle
*f*equal to half the angular extent of the arc. - The weight of the inner control point is
*cos(f )*. - The open uniform knot vector is
*[0,0,0,1,1,1]*.

You see below how to get a hole circle with only one NURBS. The knot vectors are

Contents Previous: Interpolating cubic B-splines Next: 3D spline curves and surfaces