- On the last equation, the right hand side of the equation
says B
_{i+1,2}(u) but it should be B_{i+1,3}(u)

- 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.

- There is a typo in the first equation, specifically for
B
_{i,1}(u). The line reads:- u
_{i}<= u <= u_{i+1}In fact, the second inequality should be <, giving:

- u
_{i}<= u < u_{i+1}The problem was that on boundaries (when u is an integer), two of the B

_{i,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==u

_{max}, where u_{max}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. - u