CS-460/560, Week 11-B
Spring, 1998
R. Eckert


    Variable size intervals between successive knot values

    Must specify knot values --> the knot vector,
       a non-decreasing sequence
       e.g., (0,0,0,0,1,1,2,3,4,4,....)

    Can have multiple knots

The curve segment Q is determined by control points: P   , P   , P   , P
                   i                                  i-3   i-2   i-1   i

and by blending functions: B    (t), B    (t), B    (t), B   (t)
                            i-3,4     i-2,4     i-1,4      i,4

[4 = the order (degree-3 plus 1) of the polynomials]

is given by:

Q (t) = P   * B    (t) + P   * B    (t) + P   * B    (t) + P * B  (t)
 i       i-3   i-3,4      i-2   i-2,4      i-1   i-1,4      i   i,4

     3 <= i <= m,   t <= t < t     defined between t  and t
                     i        i+1                   3      m+1

If t = t    then the curve segment Q  degenerates to a point.
    i   i+1                         i

The Blending functions B(t) are defined recursively:

            t  <= t < t
         1,  i         i+1
B  (t) =
 i,1     0, otherwise

          t - t                t    - t
               i                i+2
B  (t) = ---------*B  (t)  +  ------------*B    (t)
 i,2      t   - t   i,1        t    - t     i+1,1
           i+1   i              i+2    i+1

          t - t                t    - t
               i                i+3
B  (t) = ---------*B  (t)  +  ------------*B    (t)
 i,3      t   - t   i,2        t    - t     i+1,2
           i+2   i              i+3    i+1

          t - t                t    - t
               i                i+4
B  (t) = ---------*B  (t)  +  ------------*B    (t)
 i,4      t   - t   i,3        t    - t     i+1,3
           i+3   i              i+4    i+1

In these equations, 0/0 is defined to be equal to 0.