| OCR Text |
Show 11 • Depending on the curvature of the surface, portions may not be enclosed by a bounding box. • The bounding boxes are not found adaptively. The problem with the overlap factor can be seen in Figure 2.2a. The bounding boxes are being determined by control points, and not the surface itself. As Weghorst discovered [55) improving the 'fit' of the bounding volumes makes a significant reduction on the time required to find ray-surface intersections. A better set of bounding boxes may be found by the following method. First, the B-spline control mesh is converted into a piecewise Bezier control mesh by taking each entry in the knot vector and making sure it occurs n times in a row (where n is the degree of the curve). After the knot vector is changed, the Oslo algorithm is used to compute the new control points. The nice property of piecewise Bezier control polygons is that every n control point interpolates the curve. These groupings of Bezier points are used to generate a set of bounding boxes with little overlap and a closer fit to the curve (see Figure 2.2). To make the ray-bounding box intersection as cheap as possible, the bounding boxes are oriented along the planes of the image-space coordinate system (thus the rays do not have to be transformed into individual bounding box coordinates). Figure 2.3 shows how the bounding boxes are oriented in three-dimensional space. Sweeney's implementation requires the amount of subdivision be specified as part of the input data for a surface. This is determined (by the user) depending on the surface's size on the screen, curvature, etc. The goal is to choose enough subdivision so the bounding boxes provide a close fit and good initial guesses for numerical evaluation of the surface, but not so much that the time spent searching the subworld tree dominates the computation time. Sweeney applies the same amount of subdivision to both the u and v parameters of the spline. The implementation |