an affine representation of de casteljau's and de boor's rational algorithms

6
Computer Aided Geometric Design 10 (1993) 175-180 North-Holland 175 COMAID 317 An affine representation of de Casteljau’s and de Boor’s rational algorithms * Wolfgang Boehm Angewandte Geometrie & Computergraphik, Technische Universitiit Braunschweig, Pockelsstr. 14, W-3300 Braunschweig, Germany Discussed in Obetwolfach, June 1992 Received October 1992 Revised December 1992 Abstract Boehm, W., An affine representation of de Casteljau’s and de Boor’s rational algorithms, Computer Aided Geometric Design 10 (1993) 173-178. The well-known algorithm of de Casteljau was already known in 1870 by I.C.F. Haase. Haase’s idea is strongly related to an affine representation of de Casteljau’s algorithm for rational curves and surfaces, and even to de Boor’s algorithm for rational splines. Keywords. Bernstein-BCzier-methods; splines; de Casteljau algorithm; de Boor algorithm; rational curves; rational surfaces. Haase’s algorithm Consider a rational polynomial curve of degree n, given in homogeneous coordinates by g(t) =a,+(~)a,t+ ... +(,“)a,t”, and the both corresponding curves of degree n - 1 a,r + ... + a,_,rl, Qzf + . . . + ant”-‘. Then z(t) can be written as the linear interpolant of go(t) and gI(t> z(t) = go(f) + F*(l) . f Correspondence to: W. Boehm, Angewandte Geometrie & Computergrafik, Technische Universitat Braunschweig, Pockelsstr. 14, W-3300 Braunschweig, Germany. * First presented in Washington, DC, July 1991. 0167-8396/93/$06.00 0 1993 - Elsevier Science Publishers B.V. All rights reserved

Upload: wolfgang-boehm

Post on 21-Jun-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An affine representation of de Casteljau's and de Boor's rational algorithms

Computer Aided Geometric Design 10 (1993) 175-180

North-Holland

175

COMAID 317

An affine representation of de Casteljau’s and de Boor’s rational algorithms * Wolfgang Boehm Angewandte Geometrie & Computergraphik, Technische Universitiit Braunschweig, Pockelsstr. 14, W-3300 Braunschweig, Germany

Discussed in Obetwolfach, June 1992

Received October 1992

Revised December 1992

Abstract

Boehm, W., An affine representation of de Casteljau’s and de Boor’s rational algorithms, Computer Aided

Geometric Design 10 (1993) 173-178.

The well-known algorithm of de Casteljau was already known in 1870 by I.C.F. Haase. Haase’s idea is strongly

related to an affine representation of de Casteljau’s algorithm for rational curves and surfaces, and even to de

Boor’s algorithm for rational splines.

Keywords. Bernstein-BCzier-methods; splines; de Casteljau algorithm; de Boor algorithm; rational curves;

rational surfaces.

Haase’s algorithm

Consider a rational polynomial curve of degree n, given in homogeneous coordinates by

g(t) =a,+(~)a,t+ ... +(,“)a,t”,

and the both corresponding curves of degree n - 1

a,r + ... + a,_,rl,

Qzf + . . . + ant”-‘.

Then z(t) can be written as the linear interpolant of go(t) and gI(t>

z(t) = go(f) + F*(l) . f

Correspondence to: W. Boehm, Angewandte Geometrie & Computergrafik, Technische Universitat Braunschweig, Pockelsstr. 14, W-3300 Braunschweig, Germany.

* First presented in Washington, DC, July 1991.

0167-8396/93/$06.00 0 1993 - Elsevier Science Publishers B.V. All rights reserved

Page 2: An affine representation of de Casteljau's and de Boor's rational algorithms

176 W Boehm / Affine representations

Fig. 1. One step of Haase’s algorithm.

where

a; = a, + ai+lt.

This procedure can be repeated using linear interpolants,

u’=u’-i 1 1 +aI;:t, i=O ,..., n-r.

After IZ steps one gets

&$ t) = a;;.

This is Haase’s algorithm from 1870. It agrees for the reparametrization

s t=-

l-s

with the well-known de Casteljau algorithm from 1957:

u’p = ur-1 (1 -S) + a,‘;$,

where p = 1 -s does not influence the homogeneous result. Let aiai ai =

[ 1 ai ’ then the points ui agree with the well-known BCzier points weighted by the ai.

In 1870 Haase also gave a geometric construction of the al from the a;-‘. It is the same for all r and i. Figure 1 illustrates the geometric relations used for r = 2 and i = 0. If u; and u! run projectively on the two lines, their connecting line envelopes a conic section where the point of contact agrees with u$ Hence the point ug can easily be constructed by the well-known Brianchon configuration as shown by dashed lines.

This leads to Haase’s algorithm, as reproduced in Fig. 2. Haase’s algorithm reads as follows: Let the points a,, . . . , a, be given. Let t form a projective scale on each line segment,

a,,ui+lY and let ui denote the point corresponding to t. Then the points a; can be constructed by using the lines of Brianchon’s theorem. Continuing this procedure one finally gets a point a:, which traces out a curve of degree n in t.

An affine representation of de Casteljau’s algorithm

Haase’s algorithm is strongly related to the following affine representation of de Casteljau’s algorithm. For simplification let af = bi, a: = cj, and j = 0. Then the procedure of inhomoge-

Page 3: An affine representation of de Casteljau's and de Boor's rational algorithms

W. Boehm / Affine representations

. . . . .

Hieraus ergiebt sich nun folgende Regel zur Const,ruction eines Punk-

tes einer Curve titer Ordnung mit (n- 1)(n-2)

Doppel- und Riick-

kehrpunkten, fiir den Fall, dass 1) die &ientirungspunkte und 2) auf den Verbindungsgeraden je zweier aufeinander folgenden Orientirungs- punkte entsprechende Punkte gegeben sind.

Man nehme auf einer der Verbindungsgeraden zweier aufeinander- folgenden Orientirungspunkte (0, 1)) (1, 2)) . . . (PZ - 1, n) einen belie- bigen Punkt an und bestimme sodann auf allen iibrigen die ihm pro- jectivisch entsprechenden. Diese l’unkte seien O’, I ‘, . . . (n - 1 j’.

Auf ihren Verbindungsgeraden (0’, l’), (l’, 2’1, . . . ((n - 2)‘, (N - 1)‘) suche man sodann (mit Hfilfe des oben citirten Brian c h on ‘schen Satzes) diejenigen Punkte, welche demselben We&he von A entspre- then. Man kommt so zu neuen F’unkten: 0”, I”, . . . (H- 2)“. Auf den Verbindungsgeraden dieser Punkte suche man wieder die Punkte I. II. s. w. So kommt man schliesslich zu Punkten O(n-P), l+*), 2(+2).

Bestimmt man auf deren Verbindungsycraden den Punkt 1 und sucht sodann endlich auf den Verbindungsgeraden der so gefundenen Punkte O(n-“), 1 (a-3) wieder den Punkt I, so ist dieser ein Punkt unserer

Curve.

. . . . . Fig. 2. The original of Haase’s algorithm

nizing the corresponding de Casteljau steps yields the affine combinations

b, =

b, = f+ -S) + y? s=a,(l -(Yz) +uz(Yz, 1 1

bb, ‘“=f$““+k s=b,(l-h) +b,P,.

On comparing the coefficients one gets the surprising result

P,:(l-&)=Lq:(l-CQ).

The affine combinations involved are illustrated in Fig. 3. Repeating the procedure yields an affine representation of de Casteljau’s algorithm where the control points ai with weights a, are given and the a; = b, are computed as above. Note that after having computed the LY~ there is no need to compute the weights bi, cj,. . . . The ratios pi :(l -pi), yj:(l - yj), . . . incorporate the influence of these weights.

Fig. 3. The affine A-frame of the rational de Casteljau algorithm.

Page 4: An affine representation of de Casteljau's and de Boor's rational algorithms

178 W. Boehm / Affine representations

An affbe approach to rational triangular surfaces

The approach above can easily be carried over to rational triangular surfaces. For simplicity denote the points involved in two de Casteljau steps by u~,~, b,,j and c~,~, and let r,

s, t be the barycentric coordinates of the constructed point, as illustrated in Fig. 4. Then the procedure of inhomogeneizing the de Casteljau steps yields the affine combinations

&I = aooaoo -r+

a1oa10 ao1ao1

b --s+-

00 b 00 b t = a,,p + a,oa + uo,7,

00

40 = a1oa10 ---r+

a2oa20 alla11

b --s+-

b b t = a,,$ + qo(T + QT’,

10 10 10

bo1 = ao1ao1 -r+

alla11 ao2ao2

b --s+-

b b t = UOIP” + fQ(T” + Uo2T”,

01 01 01

and

booboo blob10 bolbo, c 00 = -r+ --s+

coo coo -t = b,,A + blOp + bolv.

coo On comparing the coefficients one gets

h:/_l =p’:a, /_L::=d’:7’, v:h -7:p”,

and from this one obtains for instance

h:/_L.:v=a”‘p’:oa”:r’a.

Repeated application gives an affine representation of de Casteljau’s algorithm where the control points qj with weights u~,~, 0 G i +j G n, are given and the bk,,, 0 G k + I G II - 1, are computed as above. Note that after having computed the first p, u, 7 one does not need to compute the weights b,,,, . . . . The ratios A : k : v, . . . incorporate the influence of the weights.

Note that the barycentric coordinates of the b,,, are not independent, e.g., one has p’uUr = p”d.

An affine representation of the de Boor algorithm for rational spline curves

The approach above can also be taken to rational splines. Again, we restrict our considera- tion to a single A-frame as it occurs repeatedly in the de Boor algorithm. Let the notation be

Fig. 4. The frame for a rational triangular surface.

Page 5: An affine representation of de Casteljau's and de Boor's rational algorithms

W. Boehm / Affine representations 179

to t, t L. t **1

Fig. 5. The affine A-frame of the rational de Boor algorithm.

as shown in Fig. 5, and let the points of the corresponding de Boor step in R4

u,u,*b,u,, u,h,u,*u,, hflcOhl~

correspond affinely to the given t-values

t,t,t t,, t,t tktk+l, t,t tk,

respectively. Let the affine combinations of these points after the process of inhomogenizing be written as

b, = a()( 1 - (Yr) + ur(Y, = a,*(1 - Cq) + arCI;,

b, = q( 1 - CQ) + uzCXz = ur( 1 - CX;) + u,*CY,*,

co = bo(l -6) + WI.

A comparision with the A-frame in Fig. 3 yields

~,:(l-~l)=a:‘:(l-cu,*).

However, the LY* should be expressed in terms of the known (Y~ and given t’s. Since the cross ratios

6, = cr[ uo*uo I boa,], 6, = cr[ uz*u2 1 b,u,]

can be expressed in the t’s as well as in the (Y’S,

t - t, t - to -‘-=S,=ff~:q, t, - t, . t, - to

t, - t Ik+l -t --

tk - tl ’ tk+l - tl

=s,=(l-Ly;):(l-(YZ),

one finally gets

Again repeated application gives an affine representation of the de Boor algorithm where control points a, with weights a, and corresponding knots tj are given. Note that after computation of the first LY’S one does not need to use the weights of points.

References

the the

Boehm, W., Farin, G. and Kahmann, .I. (19841, A survey on curve and surface methods in CAGD, Computer Aided Geometric Design 1, I-60.

Page 6: An affine representation of de Casteljau's and de Boor's rational algorithms

180 W. Boehm / Affine representations

de Casteljau, P. (1957), Outillage Methodes Calcul, Enveloppe Soleau 40.040, Scelee a 1’Institut National de la

ProprittC Industrielle (Paris).

de Casteljau, P. (1986), Shape Mathematics in CAD, Mathematics in CAD Vol. 2, Kogan Page, London.

de Boor, C. (19721, On Calculating with B-splines, J. Approx. Theory 6, 50-62.

Haase, J.C.F. (1870), Zur Theorie der ebenen Curven rile’ Ordnung mit (n - 1) (n - 2)/2 Doppel- und Riickkehr-

punkten, Math. Ann. 2, 515-548.