CISETR01(02):Curvature Continuous
FreeForm Surfaces of Degree 3 x 5
Jorg Peters
Feb 20 2001
Abstract
This paper introduces for d > 0 a technique for modeling curvature continuous
freeform surfaces of unrestricted patch layout using patches of maximal degree
3 x (d + 2) with the flexibility at extraordinary points of C2 splines of degree d.
1 Introduction
Two regular Ck maps p, g : 1'' ' join Gk via r : .' '. along an edge e if r
has certain standard properties detailed in Section 2 and
(Oap)(e) = ((g o r))(e), = 0,...k.
If (&Or) (e) is a (univariate) polynomial of degree ++ 1 and g is a (bivariate) polynomial
of total degree d then, applying the chain rule to compositions (see Faa di Bruno's Law
in the Appendix), (Oap) (e) is of degree d + r. For k = 2 and d > 0 this simple fact
allows us to construct curvature continuous freeform surfaces of unrestricted patch
layout from patches of maximal degree 3 by d + 2 with the flexibility of Ck degree d
(vertex) splines at the extraordinary points where n quadrilaterals meet. The case d = 3
has been implemented and an example is shown in Figure 8.
1.1 Prior Work
To date curved surface constructions of degree 3,3 for arbitrary patch layout are only
tangent continuous (see e.g. [GZ94, Pet94, Rei95, Pet00]). Even if we use an infi
nite sequence of bicubic patches near the extraordinary points, as in the CatmullClark
generalized subdivision scheme [CC78], we obtain at best bounded curvature [Sab91].
With the exception of [GZ99], curvature continuous polynomial constructions using
tensorproduct patches are of degree 9,9 or higher [Hah89, GH89, Ye97] or they use a
smart approach developed by Prautzsch and Reif [Pra97, Rei98]: a diskshaped region
in 1.' defined by a Ck tensorproduct spline of degree bi(k+ 1) is mapped onto a poly
nomial surface of degree d in J. to cover the neighborhood of an extraordinary point
by a surface of degree d(k + 1). For k = 2 and d = 2 this approach yields curvature
continuous surfaces of degree 6,6; and also undesirable flat patches at higherorder

r R2
e
Figure 1: Reparametrization r and geometry maps p and g. For a Gk join the Kth
transversal derivatives of g o r and p have to agree along the common boundary p(e).
saddle points. Increasing d to 3 as suggested in [Rei99] to avoid the flat regions and
obtain the desirable curvature shown in Figure 8,(right) yields again patches of de
gree 9,9. The curvature continuous constructions according to [GH95, DL89] use high
degree rational patches while [Du88, Her96] use second order 'Gregory patches' of
degree 5,5. Such patches have a complex normal and twice the number of coefficients
of a polynomial degree 3,5 patch.
2 Smooth Joining of Trimmed Patches
Two regular Ck maps p, g : 1. h.' join Gk via r : h' J '. along an edge e if
(O'p)(e) (o(g or))(), = 0,... ,k,
where, as illustrated in Figure 1, the invertible Ck reparametrization r maps a neigh
borhood of an edge e of the domain D ofp into the neighborhood of a curve segment
in the domain A of g (a dashed unit triangle) so that outward pointing vectors e1 map
to inward pointing vectors. Here
[ag 29 291
O [d I 02g "["7 du... ,etc.
If r is the identity thenp and g are said to join parametrically Ck and if 04f/o .
is continuous then f E C2'2. By transforming the domain, r modifies the flow of
parameter lines and restricts the evaluation to r(D) effectively trimming the patch re
sulting from composition with g. In the following p and g are called geometry maps to
emphasize that they determine the local shape and curvature of the surface.
E'' E'
E'
i 7 E i
g'(Ez)
Figure 2: (top:) The reparametrization ri maps two abutting edges e and e of D to
abutting halves of edges E+_ and Ei of a regular ngon. (bottom:) An nsided vertex
neighborhood g o r and the Lshaped regions p pi and p_ that form the Hermite
extension. gi o ri(D) is a restriction of g (A).
g"(E',)
If p and g are polynomials then it suffices to consider derivatives only in the direc
tion of e1 perpendicular to the domain edge e. In the following, we are interested in
the degree of univariate polynomials defined on e after differentiating in the direction
e'. We denote the degree of the tth derivative in the direction e1 of a map f restricted
to e by
dj.
The key points of the new construction for k = 2 are
1. the geometry map g is of total degree k + 1
2. and d = 1.
The composition g o r restricted to e is therefore of degree 3. We generalize this idea
to arrive at the following central theorem.
Theorem 1 Let A denote the 2unit triangle, D the unit square, Q the symmetric n
gon with vertices vj := (cos(jO), sin(jO5), ( := 27r/n and edgemidpoints mj :=
(.', I +vj)/2, Q the nsidedpolygonal disk with boundary Q and quadrilateral sectors
Q with vertices 0, mi1, vi, mi, and c := cos(O), s := sin(O5) and Q := [ 8].
Consider an extraordinary point where n foursided patches g o ri(), i = 1,... ,n
meet as shown in Figure 2, (bottom). If
the reparametrizationr : {1,... ,n} x D C F. F" .
(1) consists ofn pieces ri : O J'' such that ri maps D exactly onto i,
(2) r' maps two il,'itii,,i edges e and e of O to
l'i;,,il,,i. halves of edges E!i = [vi, and E' = [vi, mi ]
of (cf Figure 2, top),
(3) r is parametrically C2'2 and invertible at all points of Q, and
(4) d, = K. + 1, = 0, 1, 2 and
the geometry map g : {1,... ,n} x A C .' .
(5) is parametrically C2 and
(6) consists ofn total degree 3 polynomial pieces gi : A p.'
(7) that surround the extraordinary point without selfoverlap
then the composition g o r
has a parametrically C2'2 Hermite extension p across Q and dp = + 3, =
0, 1, 2; and
the nsided vertex neighborhood (g o r)(Q) can be parametrized by n bicubic
patches that join G2.
Examples of maps r for various n are shown in Figure 3. Examples of geometry maps
g are shown in Figure 6, right. Figure 8 shows Hermite extensions (red = dark grey)
and vertex neighborhoods (cyangreen = medium grey) consisting of n bicubic patches.
Proof We define the first three Taylor terms of the ith Lshaped piece pi pi, p_ of
p by extending gi across E' and El_. Specifically, with the layout of Figure 2, for
S= 0,1,2, (0p'i)(e) := ((Sgi o ri))(e), (p )(e) := (Q0(gi o r'))(e) and,
at the intersection of e and e, '"p' = Qp = Kpt Dropping the superscripts and
subscripts and applying the chain rule to g o r, we obtain the table below. The left
column lists the expansion of the composition, i.e. FAa di Bruno's Law for r = 0, 1,2,
the center column lists the (formal) degree of the expansion restricted to the edge e
given that d 1 and the last column lists the degree due to dg = 3 and d' = n + 1
and proves d' = n + 3, for = 0, 1,2.
derivative degree (do = 1) =
gor dO 3
0 go r dg d + d, 4
T. *((92g) or) +(yg) or*2 r max{d +2d, ,dg + d2 5
On Q, the extension p is C2,2 as the composition of two parametrically C2,2 maps, g
and r.
For the second claim, since ri maps O exactly onto 0Q there exist bilinear maps
bi : O h.' such that bhi() = Q' = ri(0) and hence gi o bi(0) = gi o ri(0). Now
gi o bi is of degree 3,3 and joins G2 via (bi)1 o ri with the ith Lshaped piece of p.
The pieces gi o b join G2 since bi only trims the domain of gi to 2 x
We now check that the required maps g and r exist. The proof is by construction.
We define the reparametrization r : {1,... ,n} x O h.' composed of n bicubic
B6zier patches as illustrated in Figure 4 for n = 5:
a. By symmetry, the control point with index 00i, i = 1,... ,n common to all
patches is located at the origin. The remaining 15 control points of each degree
3,3 piece are derived as the control points of two symmetric triples of curve
segments in B6zier form.
b. The outermost curves are linear segments forming the boundaries of Q (Figure
4, left). In B6zier form, degreeraising to formal degree 3 and subdivision at the
midpoint creates 7 control points (Figure 4, right) per edge, i.e. the control points
with indices j3i and 3ji, j = 0, 1, 2, 3.
c. The 7 control points of the second layer from the outer boundary represent a
quadratic curve segment (Figure 4, middle), raised to degree 3 and subdivided
at the midpoint. The first and the last B6zier control point of the ith quadratic
segment are 32i and 23i+i. After subdivision at the midpoint, symmetry forces
that the second control point agree with its symmetric counterpart about the patch
diagonal from 00i to 33i, and this uniquely determines the quadratic. Degree
raising yields the control points with indices j2i and 2ji, j = 0, 1, 2.
d. The third layer of coefficients are the control points of a piecewise cubic curve
(Figure 4, right). Two control points of each cubic are 31i, 21i respectively
Figure 3: For n = 3,..., 8, the B6zier control points of n bicubic maps ri : O j.',
i = 1,... n, that join C2,2 at the midpoints of the ngon boundary.
13i+1 and 12i+1. Two additional control points are pinned dowr by the required
C2 join of the two cubics, and the shared final coefficient is used to satisfy the
symmetry requirement and obtain a unique location for 11. This defines the
remaining control points with indices j1i and 1ji, j = 0, 1.
For n = 4 the above construction yields, modulo rotation, the identity map.
Lemma 2.1 The map r : {1,... n} x D .' defined above satisfies (1) (4) of
Theorem 1.
Proof Properties (1) and (2) are explicit in the construction. Since (Oari/OK"e)(e)
is the same polynomial as (OKri+l/*ie')(e) for r = 0, 1 and two pieces of a C2
spline for t = 2 the pieces join C2,2 at the mi and are of degree rt + 1 as required by
(3) and (4). Regularity on 0 follows from the explicit position of the control points.
Figure 4: The control points of the bicubic reparametrization lie on linear, quadratic and
cubic spline curves respectively from the outside to the center o of Q (here a pentagon).
We define a geometry map satisfying (5), (6) and (7) as a C2 spline with cubic
pieces g' and a piecewise symmetric domain shown in Figure 5. The figure also shows
the B6zier index triples a = aoala2 of one spline piece, i E {1,... n}
E g'(a)Ba, B,(u,v)= 3! (1Uv)aouargLa2
o+a1+a2=3 o2 3!
The Ba are the cubic B6zier basis functions. We prove that such a spline has at least
one degree of freedom for each boundary curve.
Lemma 2.2 A spline c ,1, r,,, i of
(i) n C2connected, totaldegree Bezier polynomials
(ii) on rotationally symmetric, ll';,ilti, threesided domains A that radially surround
an nvalentpoint (c.f Figure 5)
has at least n + 6 degrees of freedom. These may be chosen as six Bezier c effci ent.,
(control points)
g9(300), g (210), g'(201), g9(120), g'(111), g(102),
that determine the quadratic Taylor expansion at the point, and
g'(003),i = 1,... ,n,
the fourth Bezier coefic ient of each boundary curve. Ifn = 3 or n = 6 one additional
cciefic lent. e.g. g9(210) can be prescribed. If n = 4 two additional coefficient.. e.g.
g'(210) and g(120) can be prescribed.
Figure 5: Coefficient indices of a cubic spline g for n = 6.
Proof The parametric C2 transitions and gl(ao00a 2) for ao > 0 determine the
coefficients with ao > 0. Setting the nvalent point to be the origin and defining
c := cos(2r/n),s := sin(2r/n), the remaining C1 conditions for i = 1,... ,n are
gi(012) gi(102) + gi+1(021) gi(102) = 2c(gi(003) gi(102))
since three consecutive vertices of the ngon are related by (c) + ( c) = 2c( ).
Solving for g (012) and substituting yields the circulant system
gi+2(021) + 4cgi+1(021) + gi(021) =
2gi+1(111) + 2cgi+1(003) + 2gi+1(102) 2cgi+1(102) + 4c2gi(003)
+ 12cgi(102) + 2gi(111) 4c2gi(201) 4cgi(111) 4cgi(003)
which is of full rank unless cos(27k/n) = 2c for some k E {0,... ,n 1}. For n > 6
we have 2c > 1 and the lemma holds. The remaining cases are verified directly. M
3 Completion to a Spline Surface
The actual geometry of the triangular patches may be determined by minimizing the
deviation from a proposed set of control points g'(a) of our choice and enforcing
smoothness across the radial edges ei:
n
m(inaE E i() g() I
i() i=1 ao+a1+a2=3
(QOgi)(ej) = (O'gi+)(ei), i= 1,...,n, = 0,1,2.
Figure 6: (left) The control polyhedron after one CatmullClark refinement step; (mid
dle) the proposal cubics g derived from the once refined CatmullClark mesh; (right)
the proposal converted to the closest C2 geometry maps g.
Since the constraints are linear in the coefficients, the quadratic minimization problem
reduces to finding a least solution in the variables hi(a) := gi(a) gi(a) via singular
value decomposition. The coefficient a of gi(a) for ao < 3 may be derived by apply
ing one CatmullClark refinement step (Figure 6, left). Let ci(O0), i = 1,... n be the
point corresponding to an original vertex, e.g. the point on the CatmullClark limit sur
face, and ci(C1 2) the coefficients of the ith tensorproduct patch with vertex c(O00)
obtained by knot insertion. Then we may choose gi(a) = ci(a1Q2) for a + 12 < 3.
As shown in Figure 6, the surface segments gi reach halfways across to the neighbor
point of the input control net. Scaling the reparametrization by a factor rsc < 1/2
trims out foursided surface pieces gi o ri (D) that combine to form nsided vertex
neighborhoods (cyangreen = medium grey in Figure 8) since r (D) C A. This cutting
back of g creates space so that the first three layers of B6zier control points of the
Hermite extension p = g o r (red = dark grey in Figure 8) still fit a subset of g rather
than extrapolate it.
The resulting vertex neighborhoods can each independently be affinely transformed.
For example they can be scaled by local parameters gsc E [0, 1] to distribute curvature,
i.e. sharpen or smooth out the edge neighborhoods as in [Pet94].
For each vertex neighborhood we now have (cyangreen = medium grey in Figure
8) a parametrization by patches gi o bi of degree 3,3 and the Taylor expansion up to
order 2 of a complex p that parametrically C2'2 extends g o r and hence joins G2 with
the vertex neighborhood. Connecting the vertex neighborhoods by interpolating the
Taylor expansions to form edge patches (red dark grey in Figure 8) is now simple;
it amounts to constructing a univariate C2 spline for each parameter line of the control
net of p_, respectively p_ that interpolates the Taylor expansion at each end. The face
patches (yellow light grey in Figure 8) are constructed by tensoring this approach.
The possible choices for the completion of the surface are displayed in Figure 7. For
the implementation I chose 9 pieces of degree 3,3 to cover the faces.
5x5 3k 5x4 3 5x3 5x3 3
4x4 3x3 3x3
5x5 3x3
_ P+__L
gbI
Figure 7: Degree and patch layout choices for covering one input quadrilateral facet.
References
[BR97] H. Bohl and U. Reif. Degenerate B6zier patches with continuous curvature.
Comput. Aided Geom. Design, 14(8):749761, 1997.
[CC78] E. Catmull and J. Clark. Recursively generated Bspline surfaces on arbitrary
topological meshes. ComputerAidedDesign, 10:350355, September 1978.
[CS96] G. M. Constantine and T. H. Savits. A multivariate Fah di Bruno formula
with applications. Trans. Amer Math. Soc., 348(2):503520, 1996.
[DL89] T. DeRose and C. Loop. The Spatch: a new multisided patch scheme. ACM
Trans. on Graphics, 8(3):204234, 1989.
[Du88] WenHui Du. Etude sur la representation de surfaces complexes: application
a la reconstruction de surfaces echantillonnees. PhD thesis, Ecole Nationale
Supefieure des T616communications, Paris, France, 1988.
[GH89] John A. Gregory and Jorg M. Hahn. A C2 polygonal surface patch. Comput.
Aided Geom. Design, 6(1):6975, 1989.
[GH95] C. M. Grimm and J. F. Hughes. Modeling surfaces of arbitrary topology
using manifolds. Computer Graphics, 29(Annual Conference Series):359
368, 1995.
[GZ94] John A. Gregory and Jianwei Zhou. Filling polygonal holes with bicubic
patches. Computer Aided Geometric Design, 11(4):391410, 1994.
[GZ99] John A. Gregory and Jianwei Zhou. Irregular C2 surface construction
using bipolynomial rectangular patches. Comput. Aided Geom. Design,
16(5):423435, 1999.
[Hah89] Jorg Hahn. Filling polygonal holes with rectangular patches. In Theory and
practice of geometric modeling (Blaubeuren, 1988), pages 8191. Springer,
Berlin, 1989.
Figure 8: (Left:) Patches of degree 3,3 (cyangreen = medium grey) form vertex neigh
borhoods. Faces (yellow = light grey) are C2 splines of degree 3,3, while each edge
(red dark grey) is covered by a C2 spline of degree 5,3. Edge and face neighbor
hoods join parametrically C2 while the vertex neighborhoods join G2 with the rest of
the surface. (Right:) The Gauss curvature of the higherorder (monkey) saddle on the
left with its three dips and three raises. The curvature is zero (green, medium grey) at
the central point and negative (blue, darker grey) in the surrounding region.
[Her96] T Hermann. G2 interpolation of freeform curve networks by biquintic Gre
gory patches. Comput. Aided Geom. Design, 13:873893, 1996.
[Knu69] D. E. Knuth. The art of computer programming, volume 1, 2, 3. Addison
Wesley, 1969.
[Pet94] J. Peters. Surfaces of arbitrary topology constructed from biquadratics and
bicubics. In Nickolas S. Sapidis, editor, Designing fair curves and surfaces:
shape quality in geometric modeling and computeraided design, pages 277
293. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA,
1994.
[PetOO] J. Peters. Patching CatmullClark meshes. Siggraph 2000, pages 255258,
2000.
[Pra97] Hartmut Prautzsch. Freeform splines. Comput. Aided Geom. Design,
14(3):201206,1997.
[PUOO] H. Prautzsch and G. Umlauf. Triangular G2splines. In L.L. Schumaker
P.J. Laurent, A. LeM6haut6, editor, Curve and Surface Design, pages 335
342. Vanderbilt University Press, 2000.
[Rei95] Ulrich Reif. Biquadratic Gspline surfaces. Computer Aided Geometric De
sign, 12(2):193205, 1995.
n~a
[Rei98] U. Reif. TURBStopologically unrestricted rational Bsplines. Constr. Ap
prox., 14(1):5777, 1998.
[Rei99] Ulrich Reif. Analyse und Konstruktion von 1i;.. i .. NuIi .i. 1 ,,ri,., fur
Freiformflichen beliebiger Topologie. Shaker Verlag, Aachen, 1999.
[Sab91] Malcolm Sabin. Cubic recursive division with bounded curvature. In
L.L. Schumaker PJ. Laurent, A. LeMehaut6, editor, Curves and Surfaces,
pages 411414. Academic Press, 1991.
[Ye97] Xiuzi Ye. Curvature continuous interpolation of curve meshes. Computer
Aided Geometric Design, 14(2): 169190, 1997.
4 Appendix: Faa di Bruno's chain rule Law
FaA di Bruno's Law combines the chain rule and the product rule. In one variable
([Knu69], p.50)
0K(g o r) = E CK() ((g) o r) (lr)kl ..... (qKr)k
j=0 K(j)
where 9"g denotes the tth derivative of g and
K(j) := {ki 0,,i = 1,... ,, ki = j, iki = n}, CK(j) := k!(l!)ki ...k,!(!)k
The multivariate case (see e.g. [CS96]) requires notation where (...) encloses the ar
guments of the multilinear form (Oig) o r and the multiplicity of the arguments is
expressed by superscripts:
,K(g r) =CK(j) ((g) or) ((9lr)kl,. (OKr)k).
j=0 K(j)
We need the derivatives in one direction e1 evaluated along an edge e:
( e(g or) (e) = eK(j) (( .e))k (e)
j=0 K(j)
An example for t = 0, 1, 2 is given in the table on page 5, left column. If g is of total
degree d and Qr restricted to e is of degree t + 1 then the degree for each summand is
degree (jg) or(e)) ( ((e))k e) = d j + ki + iki
dj 2ki (K+1)k
=dj +j +.
