on de boor-like algorithms and blossoming

9
Computer Aided Geometric Design 5 (1988) 71-79 71 North-Holland On de Boor-like algorithms and blossoming Wolfgang BOEHM Applied Geometry and Computer Graphics, Technical University of Braunschweig, D-3300 F.R.G. Presented at Mathematisches Forschungsinstitut Oberwolfach, February 1987 (The appendix on blossoming was added in December 1987) Received January 1988; revised February 1988 Abstract. Algorithms that use repeated linear interpolation of points, such as the de Boor algorithm but also the Aitken-Neville algorithm, will be considered. Their common geometric structure will be discussed from a more general viewpoint and its relationship with the so-called blossoming will be described. Keywords. Bb2.ier curves, spline curves, linear interpolation, algorithms, tensor products, multiaffine mappings, B6zier manifolds. lmroduction Many effective algorithms in CAGD and their applications in CAD/CAM use repeated linear interpolation [cf. Boehrn, Farin & Kahmann '84], where linear interpolation is used in space: Given two points a, b and a real a, then x = (1 - a)a + ab denotes 1 a point x on the straight line ab, defined by an affine map of 0, a, 1 onto a, x, b, as shown in Fig. 1. If a varies, a is sometimes called an 'affine scale' on the straight line ab or a 'local parameter' of the interval [a, b] of a global parameter u, defined by u--a a=b_ a The de Boor algorithm is a well-known example for a repeated or iterated linear interpola- tion: Given control points dO,..., d ° and given reals a r, i = r,..., n and r = 1,..., n, linearly depending on u and to be defined later. A point s(u) of the spline segment controlled by the d's can be constructed by the repeated use of d; = (l _Olr~itlr-1 _r.tr-1 (1) i ] ~i-- 1 + OtiUi where finally s = d~ [de Boor '72]. Fig. 2 shows an example for n = 3. ~' affine map a o c~ a u 1 Bold letters denote coordinate rows of R e, R 3, or R ~. 1 =. Fig. 1. scale. Linear interpolation and affine 0167-8396/88/$3.50 © 1988, Elsevier Science Publishers B.V. (North-Holland)

Upload: wolfgang-boehm

Post on 21-Jun-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: On de Boor-like algorithms and blossoming

Computer Aided Geometric Design 5 (1988) 71-79 71 North-Holland

On de Boor-like algorithms and blossoming

Wolfgang BOEHM

Applied Geometry and Computer Graphics, Technical University of Braunschweig, D-3300 F.R.G.

Presented at Mathematisches Forschungsinstitut Oberwolfach, February 1987 (The appendix on blossoming was added in December 1987) Received January 1988; revised February 1988

Abstract. Algorithms that use repeated linear interpolation of points, such as the de Boor algorithm but also the Aitken-Neville algorithm, will be considered. Their common geometric structure will be discussed from a more general viewpoint and its relationship with the so-called blossoming will be described.

Keywords. Bb2.ier curves, spline curves, linear interpolation, algorithms, tensor products, multiaffine mappings, B6zier manifolds.

lmroduction

Many effective algorithms in CAGD and their applications in C A D / C A M use repeated linear interpolation [cf. Boehrn, Farin & Kahmann '84], where linear interpolation is used in space: Given two points a, b and a real a, then

x = (1 - a)a + ab

denotes 1 a point x on the straight line ab, defined by an affine map of 0, a, 1 onto a, x, b, as shown in Fig. 1. If a varies, a is sometimes called an 'affine scale' on the straight line ab or a ' local parameter' of the interval [a, b] of a global parameter u, defined by

u - - a

a = b _ a The de Boor algorithm is a wel l -known example for a repeated or iterated linear interpola-

tion: Given control points dO, . . . , d ° and given reals a r, i = r , . . . , n and r = 1 , . . . , n, linearly depending on u and to be defined later. A point s(u) of the spline segment controlled by the d ' s can be constructed by the repeated use of

d ; = ( l _Olr~i t l r -1 _r . t r -1 (1) i ] ~i-- 1 + OtiUi

where finally s = d~ [de Boor '72]. Fig. 2 shows an example for n = 3.

~ ' affine map

a o c~ a u

1 Bold letters denote coordinate rows of R e, R 3, or R ~.

1 =. Fig. 1.

scale. Linear interpolation and affine

0167-8396/88/$3.50 © 1988, Elsevier Science Publishers B.V. (North-Holland)

Page 2: On de Boor-like algorithms and blossoming

72

d?

d;

5

W. B o e h m / d e B o o r - l i k e a l g o r i t h m s

d o

Fig. 2. The de Boor a lgor i thm, n = 3.

The involved d ' s will usually be arranged in a Neville-like scheme, as shown in Fig. 3 for n = 3. Because the spline curve is linear in the d ' s one can write s as

s (u ) = Ed° iN~"(u)= E d ; N ~ " - r ( u ) = d ~ ( u ) , (2) i j

with basis functions N~k(u) of degree ~< k. Combining (2) with (1) one gets a recursion formula for the B-splines N,k(u), due to Mansfield, Cox and de Boor [de Boor '72],

n - - k k N~k+'(u) = a~'-kN~k(u) + ( 1 - % + , )N,+,(u). (3)

In particular one has N ° ( u ) = 1. The involved N~k(u) can usually be arranged in a Pascal-like scheme, as shown in Fig. 4 for n = 3.

The used local parameter a~(u) is defined by ¥

u - - a i r

~ti -~ r r ' b i - ai

where a r, b r coalesce with given knots uj of the u-axis. In particular, in the case of the above considered spline segment one has

r ~ r a i - - U i , bi ~ U i _ r + n + 1.

Any other choice of ar(u) gives another polynomial curve: In particular one gets for r r

a i - - U 0 , b i = U 1 ,

a point of the B6zier curve defined by the B6zier points d °. In this case the construction (1) represents the de Casteljau algorithm, while (3) represents the well-known recursion of Bernstein polynomials [cf. Boehm, Farin & Kahrnann '84].--For

r a i = Ui_r, b r = ui,

1-t:x~ "d ~ 1 ~ I ~ 2 dO... c,, 1 - O ( 2 ~ ,,,,,112

1 " ~ " 1 _ 0 c ~ t , 1 1 . t 0%= ~ U2~i_0c~_ 3

dO ~ ,..,~ , -~.d2~ c~ d~ 1~2d~ / cxl 3

Fig. 3. The de Boor scheme, n = 3

N~2~-c4~N" o4 ...N3 1 - ( : x . ~ ,.~,2 .~ ~ 1 ~ i

1 = 3 " - (X 3 1 . , . , 2 ~ N 2 ,--- 1 3 ~ ~ [ I / ~ 3 0(2 ~..1~,13

I 'w3~, 2 1 1 " | ~ 2 0(3 ~ I k l 2 ~ l - c x 3

13~ . 0(1 -~, 3. N3

Fig. 4. The Mansf ie ld scheme, n = 3.

Page 3: On de Boor-like algorithms and blossoming

W. Boehm / de Boor-l ike algorithms 73

SCHEME a'~ b; b2 2 b~ a~ a~ a~ b~ b3 a~ a~ b~ 3

choice

de Casteljau uo ~ ul .. Uo ~ Ul

Uo ~ ~ Uo U 1 .. " U~ ~. Uo Ul

Uo Ul

de Boor u~ u, .- U2 U4 .-.

U2 ~" ~ U3 Us .. U4 U3 Us

U3 U6

Aitken uo .. u~ U0 .- ~ U2

U~ .. U 0 UZ ~ U 3 U~ ~. U 3

U2 U3

Goldman Uo.. us U0 ~ ~. U4

Ul .- Uo U4 -~ U3 Ul ~ U3

U2 U3

basis polynomials

N~(u)

Bernstein

B-spl ines

Lagrange

Polya

Fig. 5. Some de Boor-like algorithms, n = 3.

one gets a point of the polynomial curve (of lowest degree) that interpolates the points d ° at corresponding knots u i [Farin & Barry '85]. It is easy to check that in this case the construction (1) represents Aitken's Lemma [cf. Henrici '64, Conte & de Boor '80]. The corresponding basis functions N~k(u) are Lagrange polynomials or (if not on the boundary of the Pascal-like scheme) multiples of them, hence (3) gives a recursion of Lagrange po lynomia ls . - -For

r t" a i - - U i _ r , b i ~ U 2 . _ i

one gets a so-called Polya curve and Polya polynomials [Barry & Goldman '86], etc. An overview of the mentioned schemes is given in Fig. 5 for n = 3.

Unfortunately, it seems that no a ' s and b's exist in the case of curvature continuous ~/-splines as introduced by Boehm or even the simpler fl-splines created before by Barsky [Boehm '85].

Generalization

To get still more flexibility we will generalize the construction ment ioned above: We will split up the n + 1 control points d ° into 2" control points 2 d.,. and also the global parameter u into n parameters u" , . . . , u 1, differing in upper indices.

Corresponding to the binary structure of the generalization we will use binary indices. To simplify the formulas, " . . . " denotes the same string of indices in the expression under consideration, in particular ". n." denotes a string of length n, where n counts the number of O's and l 's. Note that n can vanish. The number of l ' s is called the level of ". n.". Further, " . . . , i " means the string " . . . " with an additional i at the right end, while E.,. denotes the sum over all strings of length r. Finally, let " r I." denote a string of r indices coinciding with the first r indices of a given string ". n.".

2 For example, the presentat ion of the l inear function u itself as a ~,-sphne (with given knots u i and given tensions 3'i ~ 1) forces to split up the control poin t di, usually si tuated at u,* = 3 (u i -1 + ui + u~+l), in to two points si tuated at ui ± = u* + ½ ( 1 - 7i)(ui - u i ± l ) [Luscher '88].

Page 4: On de Boor-like algorithms and blossoming

74 W. Boehm / de Boor-like algorithms

do. d,o o

~ do d(u n ..... u 1) d, ~ .

o/doo

<looo Fig. 6. Repeated linear interpolation, binary scheme.

d,, ,

Let d.,. be given con t ro l po in t s and let a .... r = 0 , . . . , n - 1 be given local parameters , where a.r" cor responds to the interval [a.r.,0, a.r.,1] of the real u"- ' -ax is , i.e. one has

un- -r __ a . r . , 0

~ . r . -~-- a.r . , 1 - - a . r . , 0

T h e n the repea ted l inear in te rpo la t ion (1) can be generalized to

d . . . = ( 1 - a . . . ) d . . . . 0 J t - a . . . d . . . . 1, (4)

as i l lustrated in Fig. 6 for n = 3. As above the involved d ' s can be ar ranged in a b inary de Boor-like scheme, as shown in Fig. 7 for n = 3.

Because the Ot.r are l inear in u "-~ the po in t d.r. is linear in u " - ' , . . . , u ~. In par t icular d (wi thout any index) is l inear in u " , . . . , u x, and hence for u" . . . . . u 1 = u it is of degree ~< n in u, i.e. a po lynomia l curve. Fu r the rmore , the n-linear d can be wr i t ten as

d = Y ' . d . , . N . , . = ~ _ , d . , . N . ~ . = d . N (5) . n . . ¥ .

U n - r + 1 C o m b i n i n g (5) wi th (4) one gets where N.,. is l inear in each of the r pa ramete r s u" , . . . , immedia te ly

N .... 0 = ( 1 - a . . . ) N .... N .... , = e t . . . N . . . . (6)

This recursion cor responds exact ly to (3). As above the N ' s can be ar ranged in a b inary Mansfield-l ike scheme, as i l lustrated in Fig. 8.

dooo "1 m~o0 >doo

doo, ~ C, oo. ~1-O,o

dolo.1_O¢o ' ~ O,o > d o ~ do. ~ 0%, >d°' l c ~

d dloo~1 -c~,o> dlo

dlol ~ cx'° ~ l - (x , J ~ d ,

dl~o~l_cx, t " cxl >d11

d111 ~ 0(11 Fig. 7. The binary de Boor-like scheme, n = 3 .

Page 5: On de Boor-like algorithms and blossoming

IV. Boehm / de Boor-like algorithms 75

N=I

1-CX / J

(3,(

t~l -l-c~°°N°°° / = I 0 0 ~

1 -o% CXoo. Nool /

~ N o ~ ~o~ 1-cxo( N°l° No(-

~o,. No 11

.jN,o<l-c*,~ N'°° 1 -o% 0%°" Nlol

N , ~ Oq .~ N l11. oq( a 1 lO

°%~-Nl l l Fig. 8. The binary Mansfield-like scheme, n = 3 .

Note that ~.r.N.r. - ~ 1. To prove this one has only to set all d.,. = 1. Note also that if some of the given d.,. coalesce one can sum up the corresponding N., . . As an example one may recover the recursion (3) from above.

The geometric interpretation

We will get more insight into the structure of the construction by the consideration of the [u" , . . . , ul]-parameter space U": Assigning points

p . , . = [ a l l . . . . . , a,I.] e U" (7)

to the d.,. the linear interpolation

P . . . = ( a - a . . . ) P .... 0 + a . . . p .... 1 (8)

corresponds in a natural way to (4). However, (8) works in one of the ur-directions only and u 1. u" u 1 presents the constructs finally a point p with coordinates u" . . . . . Note that . . . . .

diagonal of the parameter unit cube. The construction is illustrated in Fig. 9 for n = 3 and U 3, U 2, U I = w , U, U.

Assuming that the given d.,. span the affine space /tt d of dimension d = 2 " - 1 there is exactly one affine map that maps d . . onto p... ~ U" and (4) into (8). If the d., . do not span A a one can interpret them as any affine projection of points that span A a. However, in general not either an affine map exists that maps the d . . onto the p... or vice versa. Obviously, the structure under consideration is that of an n-linear tensor product. It can be written as

d ( u n , . . . , u l ) = E b . . . B . ( u n) "'" B (uX), (9) . n .

defined by control points b.n. and pairs of linear basis functions B.(u n-i+l) corresponding to the i-th index, 0 or 1, of b.,..

In particular, if the B.(u) are Bernstein polynomials, the b.,. are Bgzier points and (9) represents an n-dimensional B6zier manifold. Its parameter lines are straight lines. The B6zier points b.n. correspond to the vertices q.n. = [" n.] of the unit cube in U ", i.e. one has d(q.n .) = b.,..

Let the B6zier points b.n. be given. For any given u ~ U n the point d ( u ) defined by (9) can be constructed by the repeated linear interpolation of the de Casteljau scheme, in particular the points d.,. = d(p . , . ) corresponding to any p.,. given by (7).

More generally, let points d.,. and corresponding points P.n. be given. Any point d(u ) of the

Page 6: On de Boor-like algorithms and blossoming

76 W. Boehm / de Boor-like algorithms

P11o

...U=V=W

p~0 ~ ~ ' z ~ D ^ . o

Pooo , . . - "~ qK, j ' "

?oo J %'::... ~oo,

Fig. 9. The repeated linear interpolation in the parameter space.

cor responding B6zier man i fo ld can be cons t ruc ted by the repea ted l inear in te rpo la t ion of the generalized de Boor scheme (4), in par t icular the B6zier po in t s b.,. = d(q.,,.).

The B~zier points of a curve segment

The diagonal u" . . . . . u 1 = u of the B6zier man i fo ld (9) presents a po lynomia l curve d(u) of degree ~< n in u. Obviously, one can use any cube wi th opposi te points , say at u 0, ul, on the d iagonal as an uni t cube. Let q... = [u . . . . . , u.] denote the vertices of this cube. As above the cor responding B6zier poin ts can be cons t ruc ted f rom the given d., . and p . , . . Let c. , . , shor t c, deno te the 'level' of q.,. and let I c [ deno te the n u m b e r of vertices having the same level c.

A n inspect ion of the tensor p r o d u c t p resen ta t ion (9) yields that the B6zier po in ts bi of the curve segment d(u), u ~ [u 0, ul] are de t e rmined as centers of gravity

1 b,= Ic---~Eb.,,..

c = i

N o t e that i is non-binary . A n example is shown in Fig. 10 for n = 3. I t should be m e n t i o n e d

bloo q11o

oo~~o \-T'~ ~" " - ~ Xe"'3 qo

bo.,. bo. b,. oo --....~l.~.~,o,~ booo qoo,

Fig. 10. The BEzier points of a segment, n = 3.

Page 7: On de Boor-like algorithms and blossoming

147. Boehm / de Boor-like algorithms 77

parabola / / d l 1

V

dÜo~ ~ do

V

lO a,

V

ao Poo ," /" /"

././"

diagonal /

P~ / '--.-e

/ . / 1 / ' / ' 1

Po Po,

~1 i i L tz=. U aoo. u aol a,~

Fig. 11. The example n = 2.

that (as a consequence) the curve d(u) spans a subspace of dimension ~< n only. In particular, if the b.,. of the same level c coalesce, one has b~ = b , . , i = c. Then (9) is

called 'symmetric' . Conversely, any given B6zier curve

n U a(u) = Eb, B, ( ) ,

where BT(u ) are Bernstein polynomials of degree n, is the diagonal of exactly one symmetric n-linear B6zier manifold (9), where b.n. = b, for c = i.

~ e e x m p l e n = 2

The mutuaUy corresponding constructions in A 3, spanned by the four d.2.'s, and the parameter plane U 2 a r e shown in Fig. 11. For convenience u 1 and u 2 are replaced by u and v. The B6zier surface (9) forms a hyperbolic paraboloid; it is double ruled by lines u = const, and v = const. The curve u = v is a parabola; its segment [a0, al l has the B6zier points

bo = boo, bl = ½(bol + blo), b2 = b11,

where the b.2" a r e vertices of the marked quadrilateral.

T h e e x a m p l e n --- 3

The examples given in Fig. 12 illustrate the three first constructions mentioned in Fig. 5, showing the control polygon (left) and the parameter space (right). To clarify the connection with Fig. 4 the non-.binary indices from there are used, i.e. d i corresponds now to p,- and b~ to q~, etc. Note that as a consequence more than one p; may correspond to the same d~, etc.

In the de Casteljau scheme (above) the control points b.3 are independent of the order of their indices " . . . ". Hence the corresponding tensor product (9) is symmetric.

In the de Boor scheme (middle) the control points d.3 which correspond to the same level c = i c0alesce to one de Boor point d i. As a consequence also the b.3 are independent of the order of their indices " . . . ", i.e. the tensor product (9) is symmetric.

In the Lagrange scheme (below) the control points d.3" which correspond to the same level

Page 8: On de Boor-like algorithms and blossoming

78 W. Boehm / de Boor-like algorithms

de Casteljau

d~ d2

do ul d3

P2

~'1 1"s* Ii

, , . i t i

po ~ ," P2

Pl

d2

// . " ~ U 4 de Boor

do

: d3 P2

~ ~ "~" P 3

U l f . / "" U 6

P O ' ~ 2 /t - - ' ,

Pl

Aitken

dl

do . . . ~ . . . . . . . . . -o--.~ U l "~"%..

\ . / 1 ~ \ ,, , . / " U 0 "\

" \ ~

/ "~. U3 I - / . " ~ . / d3 ""'-.. U 2 ...,

d2

I I ~ I j _ - / I i I I~ '~1 ~ L , I - ~ L ; 3

I ii I I / " ;

Uo . . ' " , q---~t7 ,

" Po"~. "-. , ' ' ._"~J Pl " - _ ~ " ~ " - P2

Fig. 12. Three examples for n = 3: de Casteljau, de Boor, Aitken.

c = i coalesce to one point d i of support. However, the corresponding b.3" are not independent of the order of their indices, i.e. the tensor product (9) is not symmetric.

An appendix on blossoming

In 1987 Lyle Ramshaw considered B6zier curves and spline segments from the viewpoint of 'blossoming'. Hereby the 'blossom' of a polynomial curve means its presentation as the 'diagonal' of a symmetric n-linear B6zier manifold (9), called an n-affine mapping of the given polynomial curve [Ramshaw '87, 88].

Page 9: On de Boor-like algorithms and blossoming

W. Boehm / de Boor-like algorithms

3,4,5

3 , 4 , 4 ~ ~ N /------"~--,"~\ 4,4,5

3,3,4 ~ . f --" " "- 4, 4, 4 ~ . , ~ '-~ 2,3,4 ~ / . . - ' "

I/Y 3,3,3 • 4,5,6 2 , 3 , 3 ~

knots

1,2,3 Fig. 13. Blossoming.

79

Ramshaw and others [de Casteljau '85, Seidel '88] derived many properties of Brzier curves and spline curves from a more algebraically viewpoint of this presentation. A typical configura- tion under consideration in their papers is shown in Fig. 13: The de Boor points and the Brzier points of a cubic spline segment [u 3, u4], corresponding to Fig. 12. Any point d ( u i, u 9, uk) is indicated by the indices i, j , k of its three parameters in the (symmetric) presentation (9). This labeling of points applied to more than one segment of a spline curve gives an unexpected simple insight into the interaction of spline curves and even spline surfaces and its control points.

Conclusion

This paper is concerned with the structure of algorithms which use repeated linear interpola- tion. These algorithms are strongly related to the blossoming of polynomials. However, this paper is not a final paper: It should inspire further research and development to getting more insight into these interesting structures.

References

Barry, Ph.J. and Goldman, R. (1986) Interpolation and approximation of curves and surfaces using generalized Polya polynomials, to be published.

Boehm, W. (1985), Curvature continuous curves and surfaces, Computer Aided Geometric Design 2, 313-323. Boehm, W., Farin, G. and Kahmann, J. (1984), A survey of curve and surface methods in CAGD, Computer Aided

Geometric Design 1, 1-60. de Boor, C. (1972), On calculating with B-splines, J. Approximation Theory 6, 50-62. de Casteljau, P. (1985), Formes & pbles, Math~matique et CAO, 2, Hermes Publishing, Paris. Conte, S. and de Boor, C. (1980), Elementary Numerical Analysis, McGraw-Hill, New York. Farin, G. and Barry, Ph.J. (1986), A link between B~zier and Lagrange curve and surface schemes, Computer-aided

Design 18, 525-528. Henri¢i, P. (1964), Elements of Numerical Analysis, Wiley, New York. Luscher, N. (1988), A Grevill~like formula for y-B-spline functions, Computer Aided Geometric Design 5, to appear. Ramshaw, L. (1987), Blossoming: A Connect-the-Dots Approach to Splines, SRC Report # 19, Digital Systems

Research Center, Palo Alto. Scidel, H.P. (1988), Knots insertion from a blossom point of view, Computer Aided Geometric Design 5, 81-86. Ramshaw, L. (1987), B~ziers and B-splines as multiaffine maps, in: Theoretical Foundations of Computer Graphics

and CAD, Springer, Berlin. Ramshaw, L. (1988), Letter to the Editor, withdrawn by the author.