Errata on Watt page 90

The following errata have been found so far in Watt's description of the Cox - de Boor algorithm on page 90.
  1. On the last equation, the right hand side of the equation says Bi+1,2(u) but it should be Bi+1,3(u)

  2. When performing a divide in the algorithm, Watt says there is a danger of producing 0/0. His recommendation is to set the entire quotient to 0 when the numerator is 0. This is a typo, the quotient should be set 0 when the denominator is 0. This way, 0/0 produces 0 as does i/0, where i is any number.

  3. There is a typo in the first equation, specifically for Bi,1(u). The line reads:

    ui <= u <= ui+1

    In fact, the second inequality should be <, giving:

    ui <= u < ui+1

    The problem was that on boundaries (when u is an integer), two of the Bi,1(u) functions would evaluate to 1, leading to a total weight of 2 rather than the correct weight of 1.

    Once you apply this fix, you will need to do one more thing. The very last iteration on u (where u==umax, where umax is the last value in the knot vector), the point generated will be at (0, 0) because all of the weights are 0. To fix this, do not perform the very last iteration on u, and instead add the last control point directly to the evaluated points.