| OCR Text |
Show 21 One notes the recursive formulation of the blending functions avoids computation of a subtree value of values if the result is going to be zero. This check must be explicitly added to the iterative version. A final speed up is to stop the computation of the blend value tree at k- 1. The two values Bo,k-l and B1,k-I are then used to find both the value and the derivative of the spline simultaneously. As Sweeney points out, additional savings are realized by calculating the intersection point and normal vector within the same loop that performs the Newton iteration. 2.6.5 Piecewise Bezier evaluation Another method for evaluating the curve is to use the Bezier formulation. As stated previously, the Bezier control mesh is generated as part of the pre-processing for the surface. This method of evaluation keeps this representation for the curve instead of the original B-spline surface. The Bezier representation uses the basis functions P;,n(u) = ( 7 ) u;(l- ut_; where n IS the degree of the curve. Since Pi,n( u) is not dependent on the knot vector (indeed, Bezier curves have no knot vector) the functions are the same for all surfaces. For common degrees of curves (say, cubic and lower) these can be stored in lookup tables, with simple linear interpolation used to between table entries. By storing both Pi,n ( u) and Pf,n ( u) the evaluation of the basis functions is reduced to linear interpolation. As mentioned in section 2.5.1, the Newton iteration may diverge before it converges. In the case of using Bezier subpatches it is very likely that the iteration will wander across patch boundaries. This means bookkeeping must be done to keep the parameter in the range of the tables and related to the proper control points. Additional bookkeeping must be performed at the boundaries of the surface as well. Also, the technique requires larger amount of storage space, both for the lookup \ |