Cubic B-Spline Curves and Surfaces in Computer Aided Geometric Design
Cubic B-Spline Curves and Surfaces in Computer Aided Geometric Design
9 by Springer-Verlag1977
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
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 :
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,
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,
\
%,--b3m
~"
9,,,w2
~
ee
"'
.,
~'~"~-
c3~
,2
1~14
='%
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. ...,
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.
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.
~[~1k t
Fig. 2. Geometric spline conditions of surfaces
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.
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 ) .
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).
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.