| OCR Text |
Show 78 powerful method that can also be used to improve the shape and reduce the error of a parametric B-spline approximation, although at a higher cost than reparametrization and other methods discussed. Smoothing approximation, with adaptive knots, also produces smooth curves with a specified error, when speed is more important than the compactness of the final approximation. A user should have the ability to use the most powerful of these methods, or the fastest. The simplest way to provide this access is to permit the user to specify the degree of optimization to be performed in finding the approximation, as well as the error bound, and whether corners are expected. This can be used, along with statistics on how well each optimization has performed, to determine whether future optimizations are likely to result in sufficient improvement. The higher the degree of optimization, the more cycles of optimization will be performed. Of course, there must also be limits; after many consecutive reparametrizations, little further reduction in the error is likely to occur. Knot optimization converges very quickly, so that more than a few optimizations may not result in significant improvement, particularly considering the cost. When all knot selection and optimization has been completed, a smoothing approximation can be computed and returned to the user as the final approximating curve. To provide more control for the user that wants it, another interface can be provided that permits specification of either the parameters, the explicit knot vector, some of the knots, or the number of knots to be placed, weights, et cetera. Anything which is unspecified can then be determined automatically, as it is from the above interface, if enough information has been supplied. Again, a level of optimization can be specified, as well as whether the final approximation is a smoothing approximation or simply least squares. |