0% found this document useful (0 votes)
80 views6 pages

Cubic B-Spline Curves and Surfaces in Computer Aided Geometric Design

The document discusses: 1. Cubic B-spline curves and surfaces, which combine the advantages of B-splines with the simplicity of Bezier techniques. 2. An algorithm for finding the Bezier points of spline curves and surfaces by forming convex combinations of nodes. 3. The extension of this algorithm to bicubic spline surfaces, where the Bezier points of each surface segment satisfy the spline conditions for both u-lines and v-lines.

Uploaded by

buggrraa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views6 pages

Cubic B-Spline Curves and Surfaces in Computer Aided Geometric Design

The document discusses: 1. Cubic B-spline curves and surfaces, which combine the advantages of B-splines with the simplicity of Bezier techniques. 2. An algorithm for finding the Bezier points of spline curves and surfaces by forming convex combinations of nodes. 3. The extension of this algorithm to bicubic spline surfaces, where the Bezier points of each surface segment satisfy the spline conditions for both u-lines and v-lines.

Uploaded by

buggrraa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Computing 19, 29--34 (1977) Computing

9 by Springer-Verlag1977

Cubic B-Spline Curves and Surfaces


in Computer Aided Geometric Design
W. BiJhm, Braunschweig
Received April 20, 1976; revised July 9, 1976

A b s t r a c t - Zusammenfassung
Cubic B-Spline Curves and Surfaces in Computer Aided Geometric Design. Representations of cubic
and bicubic splines are given, combining the advantages of B-splines with the handiness of B6zier
technique. The B~zier points of spline curves and surfaces are found by forming convex combinations
of nodes. The given algorithms are suited especially for computer aided geometric design.
Kubische B-Spline-Kurven und B-Spline-Fl~iehen in der Geometrisehen Datenverarbeitung. Es wird
eine einfache Darstellung kubischer und bikubischer Splines gegeben, die die Vorteile der B-Splines
mit den Vorteilen der Darstellung von B6zier verbindet. Die Algorithmen fox Kurven und Flgchen
sind auch fox nicht gquidistante Parameternetze einfach und fOx die geometrische Datenverarbeitung
interessant.

Introduction

B-splines were first considered by I. J. Schoenberg (see [6]) in 1946. Both


M. Cox [7] and C. de Boor [6] in 1972 developed independently a well
conditioned algorithm for the evaluation of B-splines. W. Gordon and R.
Riesenfeldt ['8] in 1974 considered B-splines and the algorithm of de BoOr
in computer aided geometric design.
In the present paper B6zier points of cubic B-spline curves and surfaces are
provided, thereby points with tangents are constructed. Thus the extremly clear
and simple handling of curves and surfaces in B6zier representation [2, 3] is
carried over to splines and bisplines. The paper is limited to the consideration
of cubic and bicubic splines. These are mostly used because they are as well
sufficiently stiff as flexible. The special case of equidistant partitions was
described by the author [4] in 1975. Extensions to higher degree splines were
considered by E. St~irk [-10] and the author [5] in 1976.

1. B~zier Curves and Spline Curves

The segments t b (u), i= 1, (1), m of a cubic B6zier curve b (u) given on a point
(0
grid U=Uo,..., u,, are defined by cubic Bernstein polynomials
1 Bold prints represent coordinate columns, lower indices in paranthesis designate the segments.
30 W. B S h m :

B, (2,.-'-- (r)3(1 - ).)3- ' 2 (1)


in the form [3, 4, 8]
3
b(u):=~ b3(i_l)+rB~(2 ) with 0 <_ ~ : u-ui-1 < 1. (2)
(i) r=0 Ui - - Ui - 1

Let g~:=u~-u~_ 1. Requiring continuity up to the second derivate (2) yields the

Spline Conditions:
b3i-tgi+t +b3i+tffi=b3i(gi+gi+l)

(b3i-t (gi+gi+ t ) - b3i-2 gi+ l) gi+ l = (b3i+l (gi + gi+ l ) - b3i+ z gi) gi =:di gigi+ l,

where i= 1, (1), m - 1 . Using the nodes dj these conditions lead to the

Algorithm 1:
Divide dj-1, dj by b3~_z, b3j_ 1 i n t h e r a t i o f f j - l : g j : g j + l ,
divide b3i_l, b3i+l by b3i i n t h e r a t i o gi:g~+l.
Taking additionally d o and dm with g0=gm+l:=0 in account the algorithm
delivers all inner B6zier points if
j = 1, (1), m, i = 1 , ( 1 ) , m - I ,
in particular b l = d o and bam_l=d,,. Hence the spline curve is uniquely
determined by the nodes do ..... dm and the extreme B6zier points b o = :din-
and b3,,= :dm+~. Fig. 1 clarifies the relationship.

d3
B 6 z i e r ~

dl=bO
- node g,

d =b~[_-' = ~, " go ; '~ h


-m-3,.4

\
%,--b3m
~"
9,,,w2
~
ee
"'

.,
~'~"~-
c3~
,2
1~14
='%

Fig. 1. G e o m e t r i c spline c o n d i t i o n s of curves


Cubic B-SplineCurves and Surfacesin Computer Aided GeometricDesign 31

2. B-Splines and B-Spline Curves

In the special case of normalized cubic B-splines 2 Nv (u) the nodes are d~: = 6~',
p = - 1, (1), m + 1. Hence b (u) has the basis representation
m+l
b (u) = av (u)
p=-i

and with the B6zier ordinates baP i+r of the i-th B-spline segment N ' ( u )
(0
b 3 i + r --- Z d p b 3 1P+ r .
P

follows. Note that only the seven ordinates b~v-3, bPap+3 do not vanish. ...,

Hence for given b/, j = 1, 3, (3), 3 m - 3, 3 m - 1, the m - 1 equations


i+1
b3, = Z dvb~,, i---1,(1),m-1, (3)
p=i--1

together with the relations b 1 =-do, b3,,-1 = d,, deliver the usual tridiagonal
system of linear equations 3 for the determination of the nodes do, ..., d,~.
It should be noted that the solution of (3) does not depend on the end points
b o and bam.
In practical applications the nodes are not computed but chosen and corrected
at a graphical display.

3. B~zier Surfaces and Spline Surfaces

The segments t b (u, v); i = 1, (1), m; k = 1, (1), n of a cubic Bdzier surface b (u, v)
(i, k)
given on a point grit u = u o..... urn; V=Vo, ..., Vn are defined by Bernstein poly-
nomials (1) in the form [3, 4, 8]
3 3
b ( u . v ) : = }-" Y' b a , _ l ) + . . 3 ( k _ , ) + . B . ( 2 ) B . ( p ) .
(i,k) r=O s=O
with
0 <_ 2 : -- u - u ~ _ ~ ~ 1 , 0~#:= v-vk-1 <1.
Ui -- Ui- 1 Vk - - Vk - 1

F r o m the demand that both, u-lines and v-lines should be cubic splines the
following theorem results

Theorem:
For f i x e d pairs i, r or k, s the Bkzier points b a ~+r, 3k+s
of a cubic bispline are Bkzier points of cubic splines.
F r o m this follows a geometric construction of bispline Bdzier points from
nodes di, k, which is as simple as in the case of curves. Using g~: = u i - u~_ 1,
hk: ----vk-- vk- 1 its principle is shown i n Fig. 2.

2 Upper level indices p, q designate B-splines.


3 The notation of the end conditions differs from that in [4].
32 W. B6hm:

d . hk_, : hk : h~,~ ~d,_t,~

hY P ~ ' n o ' d e ~ _ , ~ " hyperbolic

~l~~f~au~il aty point

~[~1k t
Fig. 2. Geometric spline conditions of surfaces

T h e four inner B6zier points b 3 i - , , 3 k - ~ , r , s = 1,2 of a segment (i,k) and its


four neighbouring nodes di-~,k-~, r, s = 0, 1 are lying on o n e hyperbolic para-
boloid and also the nine B6zier points b3i+~ ' 3k+,, r, s = - 1, 0, 1 are lying on
o n e hyperbolic p a r a b o l o i d too as shown in the figure. With auxiliary points
b~*k this leads to

Algorithm 2:
I. Divide dj_ ~, k, di, b y b3i-2,~,
~ b j*j - ~ , k in the ratio 9j-~ 9 j : g j + ~ ,
divide b3i-
* 1,k, b~i+ 1,k by b*3i, k in the ratio 9i: 9i+~,
set b * , k : = d - l , k , b* "-din+ ~,k"
3m, k.--
II. Divide b*t , l - D b* 1 by be, 3 l - 2 ~ bt , 3 / - 1 in the ratio h l_ 1 : h i : h l+ 1,
divide be, 3~- 2, b,, 3 ~+ 1 by be, 3 in the ratio h s :hs+ 1,
set bt, o : = b * ,- l , be, 3 , : -- - b * t , n + l 9

Setting 90 =g,~+ 1 = ho = h,+ 1 : = 0 the algorithm delivers all B6zier points of the
surface if
i=l,(1),m-1; j=l,(1),m; k=-l,(1),n+l,
s=l,(1),n-1; l=l,(1),n; t=0,(1),3m.
Therefore the spline surface is uniquely determined by the nodes
di, k, i= -- 1,(1), m + 1, k = - I , ( 1 ) , n + l.

4. B-Splines and B-Spline Surfaces


In the case of normalized basis bisplines 2 NP' q (u, v) the nodes are ~av,i , k .q. -- - ~p ~q
t-'i "dk~

p = - 1, (1), m + 1, q = -- 1, (1), n + 1 and thus


N "'q (u, v ) = X " (u) n q (v).
Cubic B-Spline Curves and Surfaces in Computer Aided Geometric Design 33

Hence b (u, v) has the basis representation


m+l n+l
b (u, v) = ~ ~, dp, q N ~ (u) N q (v)
p=--I q = - i
and therefore its B6zier points are
b,,, =Z Z ap,qb;c ,
P q
b~ and c~ being B6zier ordinates of B-splines in u-direction and v-direction,
respectively, calculated by the algorithm 1.
P
Note that only b~p_ a. . . . , bap+3 and C3q_3,
q ..., C3q+3q do not vanish. Hence for
given inner B6zier ponts bj, t, J = 1, 3, (3), 3 m - 3, 3 m - 1; l = 1, 3, (3), 3 n - 3, 3 n - 1
of the surface the equations (4) represent one twofold tridiagonal system 3 of
linear eguations which determines the inner nodes dp, q, p = 0 , (1), m; q = 0 , (1), n.
It should be noted that the solution does not depend on the boundary B6zier
points.
In practical applications the nodes are chosen and corrected at a graphical
display too.

5. Points and Tangents

For fixed 2 single points of B6zier curve segments (2) are calculated with
auxiliary points ar, s by the well known

Algorithm 3:
Divide a .... ar+l,~+l by at, s+ 1 in the ratio 2 : ( 1 - 2 ) .

Beginning with a,,,:=b3~i_l)+,, r=0,(1),3 one gets finally


d 3
b (u) = ao, a, d u b (u) = (al, 3 - ao, 2),
(i) U~- - Ui_ 1

etc. [2, 9].


By the same algorithm for fixed 2 (u), # (v) one calculates points of the segment
(i, k) of a B6zier surface: first the u-line B6zier points
3
b3(i_l)+r(V):= ~ ba(i_l)+r,a(k_l)+sBs(l~), r=0,(1),3
s= 0
and then
3
b(u,v): = ~ b3(i_l)+r(V)Br(2).
r=o

Computing 19/1 3
34 W. B6hm: Cubic B-Spline Curves and Surfaces in Computer Aided Geometric Design

References 4

[1] Barnhill, R., Riesenfeld, R.: Computer Aided Geometric Design (Proceedings of Utah Con-
ference in 1974). New York: Academic Press 1974.
[2] B6zier, P. : Numerical Control, Mathematics and Applications (translated from French by
Forrest and Pankhurst). London: J. Wiley 1972.
[3] Brzier, P. : Mathematical and Practical Possibilities of UNISURF. Proceedings [1], 127--152.
[4] Brhm, W.: Parameterdarstellung kubischer und bikubischer Splines. Computing 17, 87--92
(1976).
[5] Brhm, W.; i.3ber die Konstruktion von B-Spline Kurven. Computing 18, 161---166 (1977).
[6] de Boor, C.: On Calculating with B-Splines. Journ. of Approximations Theory 6, 50--62 (1972).
[7] Cox, M. G. : The Numerical Evaluation of B-Splines. J. Inst. Maths. Applics. 10, 134---149 (1972).
[8] Gordon, W., Riesenfeld, R.: B-Spline Curves and Surfaces. Proceedings [1], 95--126.
[9] Krautter, J., Parizot, S. : Syst~me d'aide/~ la d6finition et/t l'usinage de surfaces de carosserie.
Ingenieure de l'Automobile 44, 581--587 (1971).
[10] Stark, E.: Mehrfach differenzierbare Brzier-Kurven und Brzier-Fl~ichen. Diss. Techn. Univer-
sit,it Braunschweig (1976).

Prof. Dr.-Ing. W. B6hm


Institut fiir Angewandte Mathematik
Technische Universit~it Braunschweig
Pockelsstrage 14
D-3300 Braunschweig
Federal Republic of Germany

4 For an introduction to curves and splines in Bezier representation see: Brhm, W., Gose, G,:
Einf/ihrung in die Numerische Mathematik, pp. 108--119. Brannschweig: Vieweg 1977.

You might also like