C1 interpolation of curve networks
T. Hermann, J. Peters and T. Strotman
December 15 2008
Abstract
To be able to interpolate a network of curves using a smooth surface, an alge
braic condition called the vertex enclosure constraint must be satisfied wherever
an even number of curves meet. We show that if a geometric constraint related to
Euler's Theorem holds for the curves meeting at the vertex then so does the ver
tex enclosure constraint. Conversely, if exactly four curve segments meet at the
vertex and their tangents are not pairwise collinear, the vertex enclosure constraint
implies the geometric condition.
1 Introduction
A classical surface construction paradigm is to create a network of curves and then
determine the surface by interpolating the curve network. Here the curve segments
meeting at a vertex are constructed to be regular and smooth (at least C2) and to have
tangents in the same plane. The challenge is to find a regular and tangent continuous
surface that interpolates the curve segments. It is wellknown that the construction is
feasible if the number of curves meeting at a vertex is odd. When the number of curves
is even an additional algebraic constraint for the curves is needed. The aim of this note
is to give a new formulation of the vertex enclosure constraint that sheds fresh light on
the sufficient geometric condition in [Pet91].
i+l
Xi+
2
Xi
Ci1
Figure 1: Network of curve segments cj, j =1,..., n and pairwise interpolating
patches xj.
More precisely (see Figure 1), we consider n curves ci that start at a point p and
have tangents t, at p that admit a common normal n. In the following it will be sup
posed that the (oriented) angle between the consecutive curves is positive and less the
7t. In order for an even number n of internally C2 patches xi, i 1, ..., n, to pairwise
meet with tangent continuity along the curves and, in particular, at p, the curves have
to satisfy one scalar constraint. This scalar constraint, the firstorder vertex enclosure
constraint, links the normal component of the second derivatives of the curves. The
vertex enclosure constraint arises, because for a C2 patch the compatibility condition
Dl01x = 020ix and therefore the system of firstorder continuity contraints yield a
rank deficient circulant system that is only solvable if we restrict its right hand side
[Bez77, Wat88, vW86, Sar87, Sar89, DS91, Ren91]. The key insight is to separate the
components in the normal direction from the ones in the tangent plane. In the tangent
plane, we have plenty of freedom to satisfy the system; so the essential part of the
constraint is the normal component. The system with the normal component as right
hand side can only be solved if an alternating sum of the right hand side vanishes (see
[Pet91] and (17)).
For an odd number of patches, no extra vertex enclosure constraint exists. Also
for n 4 and tangents in an X configuration, there is always a solution. Tangents tj,
j 1, 2, 3,4 are in an X configuration, if they are pairwise collinear: ti x ti+2 0=
for i 1, 2. This is, for example, the case at knots of C1 tensorproduct splines. If
we drop the requirement that the patches xi be internally C2 then the constructions
[Gre74, CK83] show that interpolation can be achieved without further constraints.
In [Pet91], it was shown that if there exists a symmetric (embedded Weingarten)
matrix W e R 3x3 such that the boundary curves ci all satisfy
n jkxi = (ti)tWti (1)
then the vertex enclosure constraint holds. The relation was called compatibility with
a second fundamental form. In Section 2, we give an equivalent, alternative sufficient
condition that implies that the vertex enclosure constraint holds. This relation is based
on Euler's theorem. Euler's theorem states that if Kn is the normal curvature of a curve
emanating from a point on a C2 surface then there exist scalars Ki, K2 and an angle
p with respect to a fixed direction d in the tangent plane so that "n = cos2 p +
K2 sin2 9.
2 The C1 vertex enclosure constraint
We now derive the vertex enclosure constraint and show it to be equivalent to a relation
involving only the angles between the tangents and the normal curvature. Here we
follow the computations, for example of [DS91], except that we focus on the normal
component since the tangential ones will not restrict the curves. Let
ci : R R3, t c(t), i 1,...,n (2)
be a sequence of regular, C2 curves in R3 that meet at a common point p with normal
n and at angles y, less than i7:
ci(0) = p, c'(0) =: ti L n, 0 < yi := (ti, ti+) < K.
To simplify notation, we assume that the curves are (linearly re)parameterized so that
each t, is a unit vector. Our results will nevertheless apply to polynomial patches in
their original form. Let
V
Xi
it
Figure 2: (left) Indexing of curves and patches: curve ci joins patches xi and xi+l.
(right) Relation of partial derivatives to BemsteinB6zier coefficients depicted as *.
X : R R3, (U, v) x(i ,v),
i 1,...,n
be a sequence of regular C2 patches such that x, (t, 0) c 1 (t) and x, (0, t) c (t)
and pairwise connected so that the G1 constraints, i.e. C1 continuity after reparameter
ization (see e.g. [PBP02] or [Pet02]), hold for scalar functions ai, P, and ,i:
ai(t)lxi(0, t) + A,(t)d2xi(0, t) + 7i(t)2xi+ 1(t, 0) 0. (4)
Abbreviating a, := a (0), b, := /(0), c, := 7(0), (4) implies
aiti + biti + cit+ = 0.
Taking the cross product with t, and then multiplying the result with n yields
ai det [t ti, n] + ci det [t+ 1,ti, n] 0.
Since 0 < 7p < 7, det [ti 1, ti, n] > 0 and since the surface pieces are regular,
ci, 0 ai, and hence
det [ti, ti+i, n] sin y i
ai = ci d [4 T n ci'
S det[ti1, ti, n] sm i 1
Similarly,
det [ti ti+, n]
bi = cn]
det [ti ti, n]
sin(qiy + i)
 ci
sinfi 1
Differentiating both sides of (4) along the commonboundary and multiplying the result
with n yields the system of n equations, i 1..., n
ifxi d2xi i2xi+ "
a (0, 0) n + b (0, 0). n+ c, (0, 0) n 0. (8)
With the normal curvature K' of ci at 0, i 1,..., n,
n 92X, n, ()2X
x(0,0) n c n'(0).n and qi: (0) (9)
(8) simplifies to
ai qi + bi + ci qi+1 = 0, i 1,..., n. (10)
On substituting ai and bi using (6) and (7), the equations (10) become
sin bip sin('jb 1+. i) ,t.)
sini i sin(1 i(L) + q+i 0 and therefore
q q1 =(cot i1 + cot i)Kn. (11)
sin il sin i
With the introduction of the variables, := .q and k := (cot qp
sin Lpi 1
our equation takes the simple form
qi +il = i i= 1,..., n.
With direct computation it is evident that
n
I1 n(1) ii (1)"iql
i= 1
If n is odd then
S+ cot )i) n
ni=1(l)i cot 1 + Cot i)n
2 1
1 n
2 1
and in general
n+j1
1 j 1
j 2 (1)n (cotp 1cot/)Kn. (15)
i j
If n is even then the system of equation is singular and one has a solution if and only if
n
(_1)n (cot 7i1 + cot i)Kn 0, (16)
i=1
Theorem 1 Ifn is even then the G1 interpolation ofsmooth curves with C2 patches is
possible ifand only if
n
0 = (1)i(coti,1 + cot )p)Kn. (17)
ii 1
Alternatively, we can write (17) as
n
0 = (1)/n (cot ,i 1 + cot (i)
i=1
,n l) cot qi.
i(1); (nn
i1
3 Vertex Enclosure and Euler's Theorem
For a point on a C2 surface, Euler's Theorem expresses normal curvature in any tangent
direction in terms of the principal curvatures: (see e.g. [dC76, page])
Kn = KC cos2 9 + K2 sin2 2 (19)
where p is measured from the principal direction of K1. If the the curves c, lie on
a C2 surface then there evidently exists a C1 surface consisting of C2 patches that
interpolates the curves. Linking these two facts, [Pet91] can be reinterpreted as the
following theorem.
Definition 1 (The Euler condition) Let n be even and {4i}i=1..n such that Pi+1 
9i = yi, and ci, i = 1..n be curves at angles ,i from a fixed direction d. Then the
Euler condition holds for curves ci, with normal curvatures R, i 1,..., n if
there exist constants K1, K2 GE such that
K = KK cos2 2i + K2 sin2 (i, i 1,...,n. (20)
Theorem 2 If the Euler condition (20) holds for curves ci, i = 1..n then (17) holds.
Proof We use the identities
sin(a + b) = sin(a) cos(b) + cos(a) sin(b), (21)
Kn C+1 = (K2 1K) (sin2 i sin2 i+1)
= ( 1 /2) sin(pi + i+ 1) sin(p +l i)
= ( 1 K2) sin(O + p,+1) sin(y ), (22)
2 sin(a + b) cos(a b)= sin 2a + sin 2b, (23)
and, we use in (25) and (27) that n is even,
n nsini(i 1 + (i) cos (CoS 1 os (24)
sin i 1 sin i ) \sin 1 sin i (24)
(~, _i K n1) (25)
sin p'i
i=1
n
S(I1 K 2) (1) cos(i+1 i) sin(pi + i1)
i=1
(26)
n
l K1 2 (l)'(sin 2+1 + sin 2i) 0. (27)
i=1
To judge the converse implication, whether (17) implies (20), the following lemma
is helpful that appeared in similar form in [PW92, Her96].
Lemma 1 Ifno pair of tangents {tl,t, tt}, n ti = 0, is parallel then K/, K2 and d
of (20) can be determinedfrom the curves ci, i = 1, 2, 3.
Proof Choosing without loss of generality the coordinates so that
0t 1tS3 wi w2/2 0
nt:2 ,:t: 0 ,t t2y t3 : t3y ,W W2/2 W3 0 ,
1 0 0 0 0 0 1
the constraints (1) for i = 1, 2, 3,
/'lt 2 (t)tWti (ti(1))2w1 + (ti(1)ti(2))w2 + (ti(2))2w3
yield the system
[w [1 0 0 1 W1lt lt12
T W2 : t2 t2xt2y t w [2 /c Itll/
_W3_ _t t3t3y t3y L "llt
to be solved for wl, w2, ws. The 3 x 3 matrix T is invertible since
det T tt det t2y
Lt3x t3yj
and by assumption t2y, 0 / ts, and t2 and t3 are not collinear. We can now choose
K/ and K2 as the eigenvalues of the 2 x 2 submatrix W and the direction d as the
eigenvector of /i. This uniquely defines an embedded Weingarten map. Therefore
Euler's Theorem holds and this implies (20). 111
Given this linear relationship between data and curvature, we cannot expect that
the vertex enclosure constraint, (17), implies (20). E.g. we should be able to choose
the normal curvature of five of the curves to not satisfy (20) and determine a sixth so
that (17) holds. The following example makes this concrete. Choose
27w 2w7
V21 = n' = n3 5 =6 n n 0, n^ = n", = 1.
01 Y 2 Y3 ,04 0 / /K K / / oK 34 1.5
12 4
Then by Lemma 1 K" = K n imply that the right hand side of (20) is zero and this
is not consistent with n = n/ = 1. However, since sin( (4+ 5) sin( 4+'5) = 0,
(17) holds.
4 Four curve segments meeting
If n 4, the assumptions of Lemma 1 hold unless the tangents are in an X configura
tion.
If n = 4 and the tangents are in an X configuration, then (17) holds without restric
tion on K/ since sin(i 1 + i) = 0. On the other hand, (20) implies
n 0 (28)
K1  2 4 (28) ,
since e.g. Kt = 1l + (/2 tl) sin2 7p and a = Kl + (/2 tl) sin2( + 7r) = t.
That is, each pair of curves should have equal normal curvatures. Choosing the curves
so that nt = q = n = 0 but n = 1, (17) holds but not (20).
However, contrary to [Pet91, Claim 3.3], there is equivalence of the conditions if
n = 4 and the tangents are not in X configuration.
Lemma 2 If the vertex enclosure constraint (17) holds for n = 4 and the tangents t,
are notpairwise parallel then
S= i cos2 9i + SK2 sin2 9i (29)
for some fixed initial direction d from which the angles Oi are measured and some
choice of li, K2.
Proof Without loss of generality, t2 and t4 are not parallel and d = i. Then sin(il +
4) / 0 and by Lemma 1 we can determine the direction and the scalars Ki and K2
so that (29) holds for i e {2, 3, 4}. Now let r := KI cos2 41 + sin2 91 and Kt the
normal curvature of cl that we want to show is equal to r. By (24) and (25), (17) is
equivalent to
.Cs7cos n cos 1 cos 4
i sin + sin 7p (1 sin+ 04
cos i1 sin 4 + cos s4 sin sin(1 + 04)
sin 04 sin 71 sin 04 sin 71
where the denominator is nonzero since, by the initial assumption of the paper, y, <
7. The claim follows since sin(l + 04) / 0. 111
Acknowledgement. The work supported NSF grant CCF0728797.
References
[Bez77] Pierre E. Bezier, Essai de definition numerique des courbes et des surfaces
experimentales, Ph.d. thesis, Universite Pierre et Marie Curie, February
1977.
[CK83] H. Chiyokura and F Kimura, Design ofsolids with freeform surfaces, Com
puter Graphics 17 (1983), 287298.
[dC76] M. P. do Carmo, Dittrentrial Geometry of Curves and Surfaces, Prentice
Hall, 1976.
[DS91] WH. Du and F. J. M. Schmitt, G1 smooth connection between rectangu
lar and triangular Bezier patches at a common corner, in Laurent et al.
[LMS91], pp. 161168.
[Gre74] J. A. Gregory, Smooth interpolation without twist constraints, Computer
Aided Geometric Design (R. E. Barnhill and R. F Riesenfeld, eds.), Aca
demic Press, 1974, pp. 7187.
[Her96] T. Hermann, G2 interpolation of free form curve networks by biquintic Gre
gorypatches, Computer Aided Geometric Design 13 (1996), 873893.
[LMS91] PJ. Laurent, A. Le Mehaut6, and L.L. Schumaker (eds.), Curves and Sur
faces, Academic Press, 1991.
[PBP02] H. Prautzsch, W. Boehm, and M. Paluzny, Bezier and bspline techniques,
Springer Verlag, 2002.
[Pet91] J. Peters, Smooth interpolation of a mesh of curves, Constructive Approxi
mation 7 (1991), 221246.
[Pet02] J. Peters, Geometric continuity, Handbook of Computer Aided Geometric
Design, Elsevier, 2002, pp. 193229.
[PW92] J. Pegna and FE. Wolter, Geometrical criteria to guarantee curvature conti
nuity ofblend surfaces, Journal of Mechanical Design 114 (1992), 201210.
[Ren91] G. Renner, Polynomial nsidedpatches, in Laurent et al. [LMS91], pp. 407
410.
[Sar87] R. F. Sarraga, G1 interpolation ofgenerally unrestricted cubic Bezier curves,
Computer Aided Geometric Design 4 (1987), 2339.
[Sar89] Errata: G1 interpolation of generally unrestricted cubic Bezier
curves, Computer Aided Geometric Design 6 (1989), 167171.
[vW86] J. van Wijk, Bicubic patches for I'..',. i \,,,,ia'.' nonrectangular control
point meshes, Computer Aided Geometric Design 3 (1986), no. 1, 113.
[Wat88] M. Watkins, Problems in geometric continuity, Computer Aided Design 20
(1988), no. 8, 499502.
