Optimized Refinable Enclosures of Multivariate Polynomial Pieces David Lutterkort and J¨org Peters June 26, 2001
Abstract
An enclosure is a two-sided approximation of a uni- or multivariate function by a pair of typically simpler functions such that over the domain of interest. Enclosures are optimized by minimizing the width and refined by enlarging the space . This paper develops a framework for efficiently computing enclosures for multivariate polynomials and, in particular, derives piecewise bilinear enclosures for bivariate polynomials in tensor-product B´ezier form. Runtime computation of enclosures consists of looking up dim pre-optimized enclosures and linearly combining them with the second differences of . The width of these enclosures scales by a factor 1/4 under midpoint subdivision.
1 Introduction
(&*)+)+!
,
-!
"!$#%'&
(&
of a function so that An enclosure is an explicit two-sided approximation over the domain of interest. If and are simpler functions the enclosure offers the advantages of any simpler but tight bounding construct: easier point classification and intersection testing. The approximation is the more useful the smaller , the width of the enclosure. In [7, 6, 9] the distance of piecewise polynomials to their B´ezier or B-spline control net was bounded in terms of second differences. We extend these results but do not insist on enclosing the control polygon. Compared to [7, 9] this yields, often dramatically, tighter enclosures for . The enclosures defined in this paper are efficiently computable and their width is affinely invariant. The key idea is to write the difference between and a function , say the control polygon of , as a linear combination of a fixed set of functions whose enclosures have been precomputed and tabulated once and for all; tables for bivariate polynomials in tensor-product B´ezier form and Matlab routines for generating tables are available at [3]. The tabulation reduces the cost for computing the enclosure of a specific to retrieving the values and linearly combining them with second differences of .
.0/2143!657'&
98;:
< 8;=
1
#5
5"
#5 4#
Figure 1: (left) Piecewise linear upper and lower bounds of the univariate cubic function with coefficients . (right) An enclosure of , the function minus its control polygon.
2 An example in one variable We consider a cubic polynomial
in B´ezier representation [1]
" % 5'$# &()# &*# ( 5+ & , /4 In the short notation -" , is the vector of basis function with &(. and &/ 8'0 are the B´ezier control points. Let 132 #5&6 #7 #*#8 be a basis for the = of piecewise linear functions with break points at &5 (page 5 gives a formal space definition). On the < interval ,9;: # > A & ) 9) A ! , !KJ &LJ However, the difference between upper and lower bound, B @? > diff MN 7A 5 "U ' J 5 M & J A 5 M ! ? B C C > ? & "? U' J 5 M ! J ? A 5 4 M & # > > > where e.g. 5
! 5+ . / 1 1 # and 5 is a piecewise linear function in = that bounds 05
from below. Figure 1,right shows an enclosure of 5
whose upper piece is tabulated as the four values # #73 # at the break points. Defining O O &/ B abs M we? get > width 3 . 3 / 1 ! 56 & . 3 /21 A 5
5 5+ 7O O #
!
! &
invariant under addition of constant and linear terms to ; and 8 is an J and width . Moreover, with the approximation to with a maximal error M 8 4 cubic pieces resulting from de Casteljau evaluation of at 3 (midpoint subdivision) 1 O O 3O O , Lemma 6.14 of [7] shows that and
3
. /1 # . / 1 1 # )
,
That is, one subdivision? cuts the width to a quarter or less as illustrated by theB comparison of the dashed with the solid enclosure in Figure 2. Figure 2 also shows that if a > + takes on positive values or a component of A
takes component of need not lie in the enclosure and on negative values then the control polygon
and can approximate with less error than .
5
(&
"
5
'
(!
3 Bivariate function enclosures
#
A tensor-product polynomial square : 5+ to ! if R or to & if ; and 5+ to (& if R or to ! if . we add
We obtain the control 9-tupels (breakpoints of a piecewise bilinear function consisting of 4 pieces)
!
, ,
,
!
, , ,
, , ,
, ,
,
, , ,
, , ,
The width with respect to
# &
5 5
5
# &
5
5 ,
, , , , ,
, ,
,
5
5 5 , 5 , 5
is 0.1544 and with respect to 10
5
,
5
, , # , , , ,
is 0.1512.
4 A general framework for enclosures This section formalizes the approach of the previous two sections and defines the construction for arbitrary polynomial bases. As before we want to find two functions from that tightly enclose a given polynomial
. The initial transformation in Lemma 1 makes the enclosure invariant under addition of elements from . The corollary records the inequalities needed for constructing the enclosure.
!$# (& : =
=
8: =
:
: =
:
: = =+: J =
Lemma 1 (Change of basis). Given two spaces of functions, identity maps J E , and linear 0 E such that , where .
: (i)
. : 5 . : = 0
, the identity in
:
, the embedding , 0 ,
, and
5
. Then for any 8;: , 5 + (1) 65+ '' 5+ .< , and hence by (ii) 5 ) "5 , i.e. (1). Proof. By (i) '5 5 Here as earlier 65 ) M is a short notation for the linear combination . Spaces : and = may be infinite dimensional, e.g. if they represent splines (ii)
5 5
5
over an infinite knot sequence. However, for practical computation, the linear combina .< M has to have only finitely many terms, e.g. tion . Items (i) and (ii) make a projector into a space invariant under . In (ii), 7 + is needed since for any <
the right side of Equation (1) is zero, but not the left. Since the width of the enclosure changes under addition of any we also want 7 + .
8
5 5
? 5 B : = B > # A :> =? 5+ ) 5+ ? ) A +5
;8
Corollary 2 (Range Estimation). With , , , and as in Lemma 1, and the maps such that the following inequalities hold pointwise and componentwise: . Then B
& "U ' ) 9) ! "U '
5 > 5 >
J J
M ! J A
?
5 M & J A 5
B
M &
M ! ,
Together this justifies the following general enclosure construction: (0) Choose
,
, the domain of interest, and the space
(1) Choose a difference operator
. > : 0= ? :
(2) Compute same E
(3) Compute
5
:
0
, with
=
of enclosure functions.
: = 0
so that is the identity on and each additional independent constraints. B and
A + 5
.
11
.
matches the
(4) Compute
M !
and
M &
&
and assemble
and
!.
For polynomials, steps (2-4) can be automated as implemented in [3]. The strength of the approach is that any, possibly expensive optimization of the enclosures is encapsulated in step (3) which can be computed, once and for all, for a given pair , as a preprocessing step. The runtime enclosure computation then consists only of (4).
: =
5 Automatic ? generationB of enclosures for > Since 5 and A 5+ are tabulated once and for all we can expend
< & ) B B <
<
) < B upper bounding functions from = and a decreasing sequence of
,7, A 5 ! 5 5 ! T A 5+ 5 5 ? ) < ) A < " B > < " ? B > B
(3) Break if no improvement, i.e. if >
.
Continue loops over and . (The inequalities in (2) above are based on the estimator at iteration . Each iteration improves the estimator.)
take the non–equidistant spacing of the Greville abscissae into account [6].
and A
are not tabulated, the first computation would have to genIf erate the table for repeated use. If the knot-sequence is not re-used it pays to instead convert the pieces to B´ezier form and use existing tables. Enclosures for B´ezier patches of total degree are described in [4]. Parametric enclosures can be based on enclosures of the component functions ([5] and [8]). To make enclosures competitive with other bounding constructs such as [2] the challenge is to generate only as many pieces, say, as there are facets in the control net and no additional slivers.
5
References
5
[1] Carl de Boor. -form basics. In Gerald E. Farin, editor, Geometric modeling, pages 131–148. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, Pennsylvania, 1987. [2] Stefan Gottschalk, Ming Lin, and Dinesh Manocha. OBBTree: A hierarchical structure for rapid interference detection. In Proceedings of the ACM Conference on Computer Graphics, pages 171–180, New York, August 4–9 1996. ACM. [3] David Lutterkort. Matlab software for bivariate spline envelopes. tar-file at http://www.cise.ufl.edu/research/SurfLab/papers. [4] David Lutterkort. Envelopes for Nonlinear Geometry. PhD thesis, Purdue University, May 2000. [5] David Lutterkort and J¨org Peters. Linear envelopes for uniform B–spline curves. In L.L. Schumaker C. Rabut, editor, Proceedings of Curves and Surfaces 1999, St. Malo, pages 239–246, 2000. [6] David Lutterkort and J¨org Peters. Tight linear envelopes for splines. Numerische Mathematik, 200x. accepted Oct 1999. [7] Dean Nairn, J¨org Peters, and David Lutterkort. Sharp, quantitative bounds on the distance between a polynomial piece and its B´ezier control polygon. Computer Aided Geometric Design, 16(7):613–631, 1999. [8] J. Peters. Surface envelopes. Technical Report CISE-TR-003, University of Florida, 2001. [9] Ulrich Reif. Best bounds on the approximation of polynomials and splines by their control polygon. Computer Aided Geometric Design, 17(6):579–589, July 2000.
14
[10] Thomas Sauer. Multivariate Bernstein polynomials and convexity. Computer Aided Geometric Design, 8(6):465–478, 1991.
15