an affine representation of de casteljau's and de boor's rational algorithms
TRANSCRIPT
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
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-
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.
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.
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.
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.