Constraints on Curve Networks suitable for
G2 Interpolation
T. Hermann, J. Peters and T. Strotman
No Institute Given
Abstract. When interpolating a network of curves to create a C1 surface from
spline patches, the network has to satisfy an algebraic condition, called the vertex
enclosure constraint. We show the existence of a similar, additional constraint
that governs the admissibility of curve networks for G2 interpolation by smooth
patches.
1 Introduction
One muchstudied paradigm of geometric design is surface interpolation of a given net
work of 02 curve segments (see Figure 1). While many 02 constructions exist that
join n patches (e.g. [Hah89,GH95,Ye97,Rei98,Pra97,YZ04,LS08,KPN1]), these con
structions generate the boundary curves that emanate from the common point, i.e. rely
on full control of these curves. In many practical scenarios, however, the curves are
feature curves. That is, they are given and may only be minimally adjusted. It is well
known, that interpolating a network of curves by smooth patches to create a C1 surface
is not always possible when the number of curves is even, since an additional algebraic
constraint must hold for the normal component of the curve expansion at the com
mon point. This is thefirstorder vertex enclosure constraint [Pet91]. Here we discuss
whether curve nets have to meet additional secondorder vertex enclosure constraints to
allow for their G2 interpolation by smooth surface patches.
In particular, we want to determine constraints, if any, on n boundary curves yJ, j
1,..., n so that consecutive patches surrounding a vertex can join with C2 continuity
after reparameterization by some regular map
S:r 2, I j(u,v)=: []. (1)
We formalize this setup as follows.
Definition 1 (Smooth Network Interpolation). Let
yJ :]R ]R3, tyJ(t), j Z, {1,...,n} (2)
be a sequence ofn regular Ck 1 curves in R3 that meet at a common point p in a plane
with oriented normal n and at angles J less than 7 (cf Figure 1):
yJ(0) = p, t := (yJ)'(0) I n, 0 < j := Z(tj, tj ) < .
1 X
j/y1
Fig. 1., I i Network of curve segments. This paper focuses on (right) local network interpolation
(see also Definition 1): curves yJ, j E meeting at a point p are given and pairwise interpo
lating patches x' are sought. The arrowlabels 1 and 2 indicate the domain parameters associated
with the boundary curves of the patches, e.g. 91xj+l (t, 0) = 2xj (0, t).
A Gk surface network interpolation of{yJ } is a sequence ofpatches
xR :R2 R3, (u, v) x(u, v), j C Z, (4)
that are regular and Ck at p, that interpolate the curve network according to
S(t, 0) = y l(t), xj(0, t) = yj(t), (5)
(with index modulo n) and that connect pairwise so that Gk constraints hold:
at (u, 0) li '+ D =2 92 (xj o ~), for0 < ki < k. (6)
Smooth Network Interpolation restricted to the neighborhood of p is called local net
work interpolation
Section 2 introduces the constraints for k 2, resulting from expanding (6) at
(0, 0). In Section 3, we review the firstorder vertex enclosure constraint in order to
gauge what remaining degrees of freedom can be leveraged to enforce the G2 con
straints. Section 4 then classifies the G2 constraints at the vertex and analyzes their
solvability for a fixed curve network. Theorem 2 establishes the existence of second
order vertex enclosure constraints. We conclude with a conjecture on the properties
of a matrix that holds the key to the complete characterization of secondorder vertex
enclosure constraints.
2 Notation and constraints
As illustrated in Figure 1, we consider n curves yJ : R R3 that start at a point
p E R3, and we aim at fillingin between the curves using patches xj : R2 R3,
j e Z,. We note that the angle yj corresponds to patch x+I1 and assume for notational
simplicity that the curves are arclengthparameterized at t 0 so that t3 is a unit
vector. Since the patches of interest are at least C2 for the case under investigation,
d012x3 021x3.
Since our focus is on curvature continuity at p = x3(0, 0), we abbreviate the kth
derivative of yJ evaluated at 0 as y( and write
X 2 : ( )(0 ,0 ), 2 d k22 )(0, 0), I 2 : ( 1,' ')(0,0).
(7)
We drop superscripts whenever the context makes them unambiguous, e.g. we write
XkXi2 := Xk Xlkik2 : k Xk2X3 .1 (8)
: yk xo, y : y 1 xo, y : yJ XO. (9)
That is x k2 i is a vector in R3 and not a vector of vectors [..., x ...].
We also tag the equations arisingfrom (6) for a specific choice of (ki, k2) and j as
(ki, k2)3. Again, to minimize ink, we leave out the superscript when possible. By (5),
,3 has the expansion
+ p +...)v +(.,7_,+ +. +.
+ 3(u, v) [: i +([ (10)
U+ (1+ 1 +...)v +(.,.+ U+...) +...
Substituting the curves according to (5), we obtain from (6) at (0, 0), via the chain rule,
the G1 constraints
Y1 YI oi + Y1 0o (0,1)
x1 = y, ii + xll1i + y201 + yi~11 (1,1)
x2 = 2x11y11 + 2y1 21 + x12o01 + Ys301 + 2Y2011 + 2yi921 (2,1)
x3 3x1i211 + 6x11321 + 6Y1 Y3 + x13o01 + Y4901 + 3y311
+ 'L + 6yi31 (3,1)
and the G2 constraints
y Y2 2 + 2 oix11ol Y + Yo002 + Y221 + Y1Yo2 (0,2)
x2 = 2p11y2Yol + 211x1i)01 + yi 12 +X21 ,, + 2o01X12o01
+ 11~02 + y3g 1 + Y202 + 2yx11X1101 + 2011Y2o01 + Y1912 (1,2)
X+ 421iy2~01 + 4yY3so01 + 4yllXni, i + 4q21X11i 01 + 4l11x1201o
+ 4021x11o01 + 2y01X13y01 + 4YP21y2 01 + 4ll1x2101 + 2y2012
+ 4)11x12001 + 2x11012 + 2y1 22 + x1202 + y3s02 + 2Y1022
+ 2y2 + x__ .,X + y4 21 + 2y2 (2,2)
3 Firstorder vertex enclosure
For an even number of patches, the compatibility condition together with the firstorder
continuity contraints result in a rank deficient circulant system that is only solvable if
we restrict its right hand side (see e.g. [Wat88,vW86]). Du and Schmitt [DS91] gave a
sufficient condition for this vectorvalued constraint to hold and Peters [Pet91] observed
that the components of the system in the tangent plane can always be enforced so that
the essential part of the constraint is its normal component. Theorem 1 from [HPS09]
reinterprets this algebraic scalarvalued constraint geometrically in terms of angles and
normal curvatures.
Theorem 1 (firstorder vertex enclosure constraint). Ifn is odd then local network
interpolation is always possible. Ifn is even then local network interpolation is possible
if and only if the vertex enclosure constraint holds:
n
0 ( 1)(cot j l+ cotj)Kj, i : ny{. (11)
j1
Two geometric conditions are known to imply the firstorder vertex enclosure con
straint: first, the existence of a symmetric (embedded Weingarten) matrix W e R3x3
such that the boundary curves yJ all satisfy n djdkX = (tj)tWtk [Pet91]; and
second, the 'Euler condition' that the normal curvatures Kj satisfy Kj k= cos2 rT +
k2 sin2 Tf for constants ki, k2 and angles af such that j+l1 f = 7 [HPS09].
To understand the firstorder vertex enclosure constraint in more detail, we take the
scalar product of Equation (0,1)J respectively with y yi and y+ (see [HPS09]) and
eliminate. This yields the leading coefficients of the reparameterization:
C, s
1 i .... 1,0 sin (7 + 7 ) sin 
sin 7 sin 7
C ,s
Here we abbreviated 01o = and sin(yJ 1 ) sin( +) and used s
sin3J 1 sin7
sin 7y 1, etc. in the illustration. Since 0 < 7 < T7, sin 7 / 0. Reordering the terms in
(1,1), and using (0,1), gives the system
x+ + x Y : (o01Y2 + 11Y1+ 11Y) (13)
sin 7 sin 7 sin 7
which can be solved by
sin 1 k+ ( 1)+ 13 J, if nodd.
(14)
That is if n is even, x can be chosen freely but, by (13), the alternating sum
(1) y j (1)J(cot + cot )y + (1) (15)
=1jsin
has to vanish. This imposes the C1 vertex enclosure constraint
n
E(1)(cot'j +c+ot y)n.y 0 (11)
j=1
on the boundary curves. And it constrains the 2n degrees of freedom 3i, and qp1 to
satisfy the additional two constraints of (15) on the tangent directions. In the following,
we therefore assume that all xn0 and all but possibly one x,1 are fixed satisfying (0, 1)J
and (1, 1)J. We have also chosen
,, < i,k < 1 when n is even and
S. for < (16)
0 < i + k < 1 when n is odd.
4 Constraints on boundary curves arising from G2 continuity
Our main goal is to solve the local G2 constraints (ki, k2)j of Section 2 for ki +
k2 < 4 in terms of the higherorder derivatives, x31, x,2, x31, x3, xi3 and for the
reparameterization .7 2 not fixed by (16).
First, we consider the equations (ki, k2)3 when ki + k =2 4.
Lemma 1. The equations (ki, k2)j, where ki + k = 4, can always be solved in terms
ofX31, x13, X22.
Proof We have more vectorvalued variables, x31, x13, x22, than constraints: (3,1),
(2,2). Equation (3,1) expresses x31 in terms of x13 so that we can focus on solving
(2,2) in terms of x13 and x22. Equation (2,2) can be arranged as
X2 = x__+ 21oi'1X13 + f(y, x11, x12, x2), (2,2)
where f(y, x11, x12, x12) is the collection of terms on the boundary or appearing in
lowerorder equations. Clearly, we can solve n 1 of these equations for x+. In general,
this is all we can hope for since, for equal angles 7, the analysis in [Peters92] shows
that the constraint matrix for solving (2,2) in terms of just x22 is rankdeficient by 1.
If the tangents do not form an X configuration, i.e. not all consecutive pairs of angles
add to 7, then, by (12), at least one il /7 0. Let 0'U /4 0. Then, for any choice of x,
we can solve (2,2), for x2, ... x,, x1.
If the tangents form an X, possibly with segments of differing length, then the va
lence must be n 4. We can then choose 011 1/ 0 and solve for x2, ... x4, xl since
Lemma 4 below shows that in this case the constraints for ki + k2 = 3 leave xi1 free
to choose. U
Our analysis should therefore focus on the case ki + k2 = 3, of the number of
derivatives adding to 3. If the corresponding constraints are solvable then no second
order vertex enclosure constraint exists and a construction is possible. However, the
situation is not that simple as the next lemma shows.
Lemma 2. The equations (ki, k2)j, where ki + k2 3, can be solved in terms ofx12
and x31 if and only if the following n x n system of equations has a solution:
sin 7, k j 1
M2sin( +7), k = j
Mh = r, Mjk : (17)
sin k = j 1
0, else,
r3 := (2o01o l + 211no01 + 702)X11 (18)
001
+ ((0ol) Y3 + 2o01 11Y2 + 2o01j11Y2 + 02Y2 + 012Y1 + 12Y1)
Yoi
+ol1(2 lxl, + 01 Y3 + 2011y + 2 2y, + 2' vj 2).
Proof We eliminate x21 by substituting (2,l)J into (1,2)J to obtain
x1+ x., ., 0 2+ 01x1201 + g(y, xll), (19)
where g(y, x11) collects the terms depending on y and x11. We divide both sides by
70o1 i:= to obtain for h3 :
sm7 sin lJ 1
siny'hj + 2sh( +2in( j)h +sin y hj+l g(y, xl) =:r3. (20)
o01
This is Equation (17). U
Although, generically, we can freely choose all 12 and 2 for kl + k2 > 1,
rank deficiency of the matrix M could lead to an additional constraint on the boundary
curves when we consider a higherorder saddle point. For a higherorder saddle point,
n y3 = 0 for k 1, 2 and this can force n xi3 0 so that
j (0Ol)2
n r3 n y3 + 001001n Y3.
o01
If f e R" is a left nullvector of M, i.e. fM = 0, then we obtain the secondorder
vertex enclosure constraint
SE ( i +1 j ,+1 j+)n y (21)
j ,,
We therefore focus on the rank of M. The next lemma partly characterizes rank(M)
and hence explains in what cases a secondorder vertex enclosure constraint can exists
or where no secondorder vertex enclosure constraint exists because M is of full rank.
Lemma 3 (rank of M).
The rank of M is at least n 2. The matrix M is offull rank (rank(M) = n) if either
all angles are equal, and n {3, 4, 6}; or if all angles are less than 7/3.
Proof Since all sin y > 0, we can solve (20) for j = 1,..., n 2, i.e. the rank
deficiency in the general case is at most 2. Discrete Fourier analysis in [Peters92] shows
M to be of full rank if all angles are equal, and n {3, 4, 6}. If all angles are less than
7/3 then the matrix is strictly diagonally dominant and therefore invertible. U
We will see below that, for n 4 and equal angles, rank(M) 2; and for n = 5,
when three angles are 7/2, then rank(M) 3. Discrete Fourier analysis in [Peters92]
showed rank(M) n 1 ifn E {3, 6} and all angles are equal; and rank(M) n 2
when all angles are equal and n = 4. In the general case, however, the analysis is more
complex.
As for the firstorder vertex enclosure constraint, we can focus exclusively on the
normal component of the constraints since, in the tangent plane, we can always choose
11 and 11n to solve (1,1) for an arbitrary choice of xi1. Then we can use the tangent
component of xn1 and the free choice of 0o2 to solve the tangent component of (20)1
and (20)" (while (20)J is solved in terms of x 2, j = 2, ..., n 1). Focussing on the
normal component, we note that the right hand side simplifies to
n r3 = (2o01il + 2011o01 + 02)n x1n + 201ol11n xn1 (22)
001
1
+ ((0oi)2n y3 + (2o01n11 + 0o2)n y2)
001
S+.',, '., Y3 + 2(11 + l0111)n Y2 .
Lemma 4. Ifn = 3 or n = 4, no secondorder vertex enclosure constraint exists for
any choice of J.
Proof For n = 3, sin(Q + 7) = sin 7+ and M simplifies to
2sin 2 sin73 sin 71
M sin72 2sin33 sin7 I. (23)
sin72 sin73 2sin71J
Since 0 < sin yj < 1, multiples of := [1, 1, 1] are the only nullvectors of M; that is,
rank(M) 2. We have a solution iff
r + r2 + r3 0. (24)
If we choose = .' = 0 for k + 1 > 1 then we have a solution since
rl+r +r3= + .'
E j sin(Q + ) + sin7 Y+ 0.
J sin
j=l
That is, we can choose x12 freely and enforce all (1, 2)J by choice of x2 and x12. Then
x3l is uniquely determined by (2, 1) 1 and all constraints for ki + k 2 3 hold.
If n = 4, the determinant of M is
2 sin(74 + 1) sin y4 0 sin y1
S sin72 2 sin(1 +2) sin ly 0
D =sin' (25)
0 sin y3 2sin(y2 +73) sin72
sin 3 0 sin 4 2 sin(3 +4)
S(4 sin(y4 + 7) sin(y + 72) + siny sin 3 sin 2 sin 74)2 (26)
3 sin 2 sin + 2 (27)
9 sin2 (72 + 3) sin2( + 72). (28)
The last equation holds because > y = 27. That is D = 0 if and only if l + 72 =
and therefore 3 + 4 i7; or 72 + K3 7 and therefore 4 + 71 t7. That is D = 0
if and only if at least one pair of tangents, t ,t3 or t2,t4, is parallel.
If 71 + 72 = 7 and 2 + 73 = i.e. the tangents form an X then sin = s,
j = 1, 2, 3, 4, for some scalar 0 < s < 1. The matrix
sOsO
M 0 sOsO (29)
OsOs
is of rank 2 and has left nullvectors [1, c, 1, c] and [c, 1, c, 1] for any c, for
example c : 2 cos 4. Without loss of generality, we choose C1 := [1, 0, 1, 0] and
f2 := [0, 1, 0, 1]. Since o01 1 and 0oi 0 and, by (1,1)J 1, n x1 n x1
n r3 := (211 + 002 201)n x1. + 02n y2 + 2(011 + )n Y2. (30)
Choosing, for example, all 0 11= 911, 002 211 211 and 902 = 0, we have
n r3 0 and the constraints can be satisfied.
If 1 + 2 = 7 but 72 + 73 /f 7 then si := sin72 = siny and S4 := sin 3 =
sin 74 and hence
2 sin(4 + 71) sin 4 0 sin
sin 1 0 sin y 0
M =
0 sin 4 2 sin(y + 4) sin / 1
sin 4 0 sin 4 0
For this M, rank(M) =3. Since sin(4 + 1) = cos 74 sin + cos y1 siny 4,
M =0 for := [1, 2cos 4, 1, 2cosy1]. (32)
Since the firstorder vertex enclosure constraint holds, one n xi1 can be chosen freely
and we can set
n r = n r 2cos 4n r2 n r3 2cos71n r4 =0 (33)
by judicious choice of .,
Our main result, however, proves that a secondorder vertex enclosure constraint
exists for a higher valence for some choice of 7.
Theorem 2 (secondorder vertex enclosure constraint). For n = 5 and some choice
of 3, a secondorder vertex enclosure constraint exists.
Proof For n = 5, we compute
det M 18 sin(J + 7+1). (34)
Abbreviating sj := sin 7 and cj := cos and assuming, without loss of generality
that 71 + 72 7 and therefore 73 + 74 + 75 7, we get
S:= [S3, 2ss(c2s3/s2 + c3) S4, 5, S2, 82]. (35)
If we choose y( so that n y 0 then (14) implies n xl 0. With sj 1, :
sin(Q 1 + 'i), the secondorder vertex enclosure constraint (21) has to hold (note
again that sj > 0 for all j):
0 .. ol' {'., + ', Ifj+l)n "yj3
j ,,
= 1s (sj ij' + Sj+l +l)n y. (36)
Sjsj 1
Specifically, for 7 [3, 3, 2, 2, 2]
[.. ,Sj, ...] [ 1 1 2 ], [ ... Cj,...] [.. . ] ,
[ j_,S j .... , '] [1 0 1 e], [ 3 0 3 1 1].
Then the secondorder vertex enclosure constraint is
0 [1,0,1,0, 0][..., n. y,...]t n .y + n .y. (37)
That is, for the two terms corresponding to the curves with opposing tangents, n y
n y has to hold. U
We note that the case n = 5 yields a doubly rankdeficient matrix M when =
[2, 2, 2, 1, 1].
5 Higher valences
Theorem 2 established the existence of a secondorder vertex enclosure constraint. An
explicit proof for valences n > 6 requires exhibiting the nullvector f and hence a full
understanding of the rank of M in its general form. We have not been able to establish
the rank in generality. But we hazard a conjecture.
Conjecture 1. If, for some j both 2 sin(y +J 1) < sin j +sin 1 and 2 sin(Q +
J 1) < sin y + sin j 2 then there is a choice of the remaining angles for which
M is rankdeficient.
The conjecture draws on Lemma 3 which proves full rank when M is diagonally
dominant. Above, we conjecture that when both the row and column of an index are not
diagonally dominant then additional angles can be found so that the determinant of M
is zero.
We conclude with some examples supporting the conjecture. The following choices
of n angles '7, yield a matrix M with zero determinant:
Examples supporting Conjecture 1.
n ..., j,.... 
6 [2, 3,1, 3, h, 3 h], h := 6lUii 1.636886845
7 [2, 2, 2, 1, 1, 1, 3],
7 [3,2,1,2,2, h, 2 h], h:= iLi1 0.1139327031
8 [2,2, 11 1,1,, h, 4], h:], h al: 0.8337394914
12 7h[4, 1,...,1, h, 11 h], h 2.237657840
6 Conclusion
We established the existence of a secondorder vertex enclosure constraint that governs
the admissibility of curve networks for G2 interpolation by smooth patches. We fully
analyzed the practically important cases of valence 3,4 and 5 and characterized the
secondorder vertex enclosure constraint for valence 5. In all other cases, lacking an
exact characterization of the nullspace of M, Lemma 3 establishes bounds on the angle
distribution that guarantee admissability of any curve network for G2 interpolation.
Acknowledgements.
References
[DS91] WH. Du and F. J. M. Schmitt. G1 smooth connection between rectangular and trian
gular B6zier patches at a common corner. In Laurent et al. [LMS91], pages 161168.
[GH95] C. M. Grimm and J. F. Hughes. Modeling surfaces of arbitrary topology using mani
folds. Computer Graphics, 29(Annual Conference Series):359368, 1995.
[Hah89] Jorg Hahn. Filling polygonal holes with rectangular patches. In Theory and practice of
geometric modeling (Blaubeuren, 1988), pages 8191. Springer, Berlin, 1989.
[HPS09] T. Hermann, J. Peters, and T. Strotman. A geometric criterion for smooth interpolation
of curve networks. In J. Keyser, editor, SPM '09: 2009 SIAM/ACM Joint Conference on
Geometric and Physical Modeling, pages 169173, New York, NY, USA, 2009. ACM.
[KPN1] K. KarCiauskas and J. Peters. Guided spline surfaces. Computer Aided Geometric
Design, pages 120, 2009 N1.
[LMS91] PJ. Laurent, A. Le Mehaut6, and L.L. Schumaker, editors. Curves and Surfaces.
Academic Press, 1991.
[LS08] Charles T. Loop and Scott Schaefer. G 2 tensor product splines over extraordinary
vertices. Comput. Graph. Forum, 27(5):13731382, 2008.
[Pet91] J. Peters. Smooth interpolation of a mesh of curves. Constructive Approximation,
7:221246, 1991.
[Pra97] H. Prautzsch. Freeform splines. Computer Aided Geometric Design, 14(3):201206,
1997.
[Rei98] U. Reif TURBStopologically unrestricted rational Bsplines. Constructive Approx
imation, 14(1):5777, 1998.
[vW86] J. van Wijk. Bicubic patches for approximating nonrectangular controlpoint meshes.
Computer Aided Geometric Design, 3(1): 113, 1986.
[Wat88] M. Watkins. Problems in geometric continuity. Computer Aided Design, 20(8):499
502, 1988.
[Ye97] Xiuzi Ye. Curvature continuous interpolation of curve meshes. Computer Aided Geo
metric Design, 14(2):169190, 1997.
[YZ04] Lexing Ying and Denis Zorin. A simple manifoldbased construction of surfaces of
arbitrary smoothness. ACIM TOG, 23(3):271275, August 2004.
