Computer Aided Geometric Design 3 (1986) 179-184 North-Holland
179
Geometric surface patches without twist constraints Hans HAGEN Computer Science Department, Arizona State University, Tempe, A Z 85287, U.S.A. Received 15 January 1985 Revised 2 April 1986 Abstract. An interpolation scheme which assumes position values, derivatives and curvature values on the boundary of an arbitrary triangle is presented. The development of this interpolant is based upon univariate interpolation using a geometric Hermite-operator along line segments joining a vertex and a side. Keywords. Computer aided geometric design, geometric modelling.
Introduction
The purpose of this paper is to present a new method for interpolating not only to function values and derivatives but also to curvature values given on the boundary of an arbitrary triangle. The first methods of blending functions interpolation on triangles were presented by Barnhill, Birkhoff and Gordon in 1973 (see [Barnhill et al. '73]), where rational interpolation functions are derived from Boolean sum combinations. To remove the incompatibility of the cross partial derivatives we can use Gregory's square (see [Barnhill '74] and [Bamhill & Gregory '75a]). Rational blending functions can be replaced by polynomial blending functions (see [Barnhill & Gregory '75b]). Convex combination schemes were introduced in computer aided geometric design by Gregory (see [Gregory '74] and [Gregory '78]) and generalized by Gregory and Charrot (see [Gregory & Charrot '80] and [Gregory '83]). Using convex combination schemes with rational Hermite projectors there are no twist problems. The methods mentioned above are based upon the combination of interpolation operators consisting of univariate interpolation along lines parallel to the sides of a triangle. Nielson presented a side vertex method for interpolation in triangles, where the fundamental operators consist of univariate interpolation along lines joining a vertex and his opposing side (see [Nielson '79]). The approach in this paper is based upon operators similar to Nielson's method, in that they consist of univariate Hermite-interpolation along line segments joining a vertex and its opposite edge. In Section 1 some fundamentals of differential geometry and in Section 2 some facts about barycentric coordinates are given. In Section 3 we present a convex combination scheme for interpolating function values, derivatives and curvature values on the boundary of arbitrary triangles. This method is based upon a geometric Hermite-operator defined by G H ( Y ) := E
Hl(t)Y(l) + f i ( t ) Y ' ( l ) + G,(t)[[Y'(l), Y " ( I ) ] , Y'(I)]
l ~ 0,I
where Y(t) is a space curve over [0,1]; Ht, fit, Gt are appropriate blending functions (see Definition 3.1) and [-,-] is the cross product of E 3 (( -,- ) is the scalar product). 0167-8396/86/$3.50 © 1986, Elsevier Science Publishers B.V. (North-HoUand)
180
H. Hagen / Geometric surface patches without twist constraints
1. Fundamentals of differential geometry Definition 1.1. A parametrized Cr-surface is a Cr-differential map X: U ~ E 3 of an open domain U C R 2 into the euclidean space E 3, whose differential d X is one-to-one for each
q~U. Remarks. (1) Let X: U ~ E 3 be a parametrized surface. A change of variables of X is a diffeomorphism "r: t ) ~ U, where t) is an open domain in R 2, such that d'r always has r a n k = 2 . If d e t ( ' r * ) > 0 , "r is orientation preserving ('r* is the Jacobian matrix of "r). Relationship by change of variables defines an equivalence relation on the class of all surfaces. An equivalence class of parametrized surfaces is called a surface in E 3. (2) The differential d X is one-to-one if and only if (a/au 1) x and (O/OU2) X are linearly independent.
Definition 1.2. The two-dimensional linear subspace T,,X of E 3 generated by span { X 1, X 2 } is called the tangent space of X at u ( X / : = (3/au i) X; i := 1, 2). Elements of T,, X are called tangent vectors. The vector field N : = [Xx, XE]/H[X1,X2] [] is called unit normal field. The map N: U ~ S 2 c E 3 is called Gauss-map and the moving frame ( X 1, X 2, N } is called the Gauss-frame of the surface in E 3. Remarks. (1) The Gauss-frame is in general not an orthogonal frame. (2) Every tangential vector field Y along the surface X: U--* E 3 can be represented in the following form:
Y(u) = Xl(u)X (u) + X2(u)X
(u).
Definition 1.3. Let X: U ~ E3 be a surface and u ~ U. The bilinear form on TaX induced by the inner product of E 3 by restriction is called the first fundamental form of the surface. Remarks. (1) The matrix representation of the first fundamental form with respect to the basis ( X l ( u ) , X2(u)} of T,X is given by: Xx)
(x2,
"
(2) The first fundamental form is symmetric, positive definite and a geometric invariant. (3) Geometrically the first fundamental form allows us to make measurements on the surface (lengths of curves, angles of tangent vectors, areas of regions) without refering back to the ambient space E 3, where the surface lies (see [do Carrno '76]).
Definition 1.4. (a) Let X: U ~ E 3 be a surface and u E U. The linear map L: T.X---, T,,X defined by L := - d N , . d X, is called the Weingarten map. (b) The bilinear form II. defined by 11,, (A, B)-= (L(A), B) for each A, B ~ T.X is called the second fundamental form of the surface. Remarks. (1) The matrix representation of I1,, with respect to the canonical basis { e 1, e 2 } of T,,R 2 (identified with E 2) and the associated basis { X 1, X2} of T,,X is given by
hij=(,N~, Xj)=(N,
Xij);
j,i=1,2.
(2) The second fundamental form is invariant under congruences of E 3 and orientation preserving changes of variables.
H. Hagen / Geometric surface patches without twist constraints
181
Proposition and Definition 1.5. Let X: U---, E 3 be a surface. (a) The Weingarten map L is self-adjoint. The eigenvalues kl, k 2 of L are therefore real a n d the corresponding eigen-vectors are orthogonal. (b) k 1, k 2 are called the principal curvatures of the surface. (c) K "= k x • k 2 = d e t ( L ) = d e t ( H ) / d e t ( 1 ) is called the Gauss-curvature and H := trace(L) = ½(k 1 + k2) is called the mean curvature. Considering surface curves we get to know the geometric interpretations of the second f u n d a m e n t a l form: Let A := AIXx + ~,2X2 be a tangent vector with II A II = 1. If we intersect the surface with the plane given by N and A, we get an intersection curve Y with the following properties: Y ' ( s ) = A and e 2 = + N (e 2 is the principal normal vector of the space curve Y). The implicit function theorem implies the existence of this so called normal section curve. T o calculate the extreme values of the curvature of a normal section curve (the so called normal section curvature) we can use the m e t h o d of Lagrange multipliers b e c a u s e we are looking for the extreme values of the normal section curvature k N with the condition 2
gij ~,i?,i = II Y ' ( s ) I I = 1. i,j=l
As the result of these considerations we get:
Proposition 1.6. Let X : U ~ E
~ be a surface and for a tangent vector A = h l X j + heX 2 let kN(hl, ~2) be the normal section curvature. (a) kn(~ 1, X2) = Ei,jhijNXJ/X2.i,jgijXihJ. (b) Unless the normal section curvature is the same for all directions there are two perpendicular directions A 1 and A 2 in which k r~ attains its absolute m a x i m u m and its absolute minimum. These directions are the principle directions and the corresponding normal section curvatures k 1 and k e.
Proposition and Definition 1.7. Let X: U - , E 3 be a surface and Y: I - , E 3 be a surface curve. We denote by ]9( 0 the orthogonal projection of Y ( t ) on the tangent plane to X at (an arbitrary) p o i n t P. (a) The geodesic curvature k S of Y at P is defined to be the curvature of the projected curve
I~(t) at P. (b) A curve Y ( t ) on a surface X is called a geodesic curve or geodesic if its geodesic curvature k S vanishes identically. (c) k S -- det(];', ]?, N); where dots denote derivatives with respect to the arc length s of Y. R e m a r k 1.8. A n arc of m i n i m u m length on a surface joining two arbitrary (fixed) points must necessarily be an arc of a geodesic!
2. Barycentric coordinates Barycentric coordinates have received m u c h attention recently for interpolating arbitrary triangles in c o m p u t e r aided geometric design. Let T be a triangle with vertices V1, 1/2, V3. (See Fig. 1.) If P is an arbitrary p o i n t in T, then the barycentric coordinates of P relative to T axe (b 1, b 2, b3) where b 1 = A 1 / A . A 1 is the area of the subtriangle PV2Vs and A is the area of triangle T. b 2 and b s are analogously defined. T h e following lemma lists the relevant properties of these barycentric coordinates.
182
H. Hagen / Geometric surface patches without twist constraints
VI
V3~
5I Fig. 1. Barycentric coordinates.
Lemma 2.1. (a) Y'.i=xbi 3 = 1; b i >1 0 (i = 1, 2, 3).
(b) bi(x, y ) =
X--Xj
X--X k
Y -Yj
Y --Yk
xi
I
Yi
where (c) (d) (e)
-
-
xj
Xi
Yj
Y,--Yk
-
-
xk
;
i=1,2,3
(xi, Yi) are the cartesian coordinates of the vertex Vr P = baV1 + b2V2 + b3V3. b, is a linear function with values one at Vi and zero along S r (Si:= (1 - b j ) V k + bjVj.) Differentiation operators along parallels to the sides b~ = 0 (i = 1, 2, 3) are given by a a b bS, '= (Xk-- xJ)-~X + (Yk--Yj) by"
3. Geometric surface patches
q~he original idea of Nielson's side vertex method is based upon a Boolean sum of three operators consisting of linear interpolation along lines joining a vertex and the opposing side (see [Nielson '79, (2.9)]). He extended his method to include interpolation to first-order derivatives on the boundaries of arbitrary triangles (see [Nielson '79, (3.9)]). (See Fig. 2.) Our approach is based upon operators similar to Nielson's method, in that they consist of univariate interpolation along line segments joining a vertex and its opposite edge. Definition 3.1. Let Y: I ---, E 3 be a space curve ( I = [0,1]). The operator GH defined by G H ( Y ) := E
H,(t)Y(i) + •(t)Y'(i)
+
Gi(t)[[y'(i),
Y " ( i ) ] , Y'(i)]
(3.2)
i~0,1
Vk
Fig. 2. Nielson's side vertex method.
H. Hagen / Geometric surface patches without twist constraints
183
is called geometric Hermite-operator with
Ho(t ) "= - 6 t 5 + 15t 4 - 10t 3 + 1, /~0(t) .'= - 3 t 5 + 8t 4 - 6t 3 + t,
Go(t) := ( - t 5 + 3t4 - 3t3 + t 2 ) / 2 II y'(o)II, Hl(t ) := 6t 5 - 15t 4 + 10t 3, / ~ ( t ) : = - 3 t 5+7t 4 - 4 t 3,
II Y'(1)II.
Gx(t) := (t 5 - 2t 4 + t 3 ) / 2
Remark: In order to verify the interpolation conditions it is appropriate to use the fact:
[ a,[b,c]] = (a,c>b- (a,b>c. Using the Frenet-frame technique (see [Hagen '85]) it is easy to see that [[Y'(t), Y"(t)], Y'(t)] =
IIY'll4.k.e2,
(3.3)
where k is the curvature of the space curve Y(t) and e 2 the principal normal vector. It is a well known fact in differential geometry (see [Kreyszig '64, p. 155]) that we can represent the 'curvature vector' k. e 2 of a surface curve in the following way:
k.e2=ks.N+kg.[N,
Y'],
where N is the normal vector of the surface, k N the normal section curvature and kg the geodesic curvature. Therefore, if Y(t) is a surface curve, we get: [[Y',Y"],Y']
=IIY'II4.(ks.N+kg.[N,
Y']).
(3.4)
Applying the geometric Hermite-operator to
Ri(t)=F(tSi+(1-t)Vi);
(3.5)
i=1,2,3
a n d letting t ' = 1 - b, and S~ = (1 - bj)Vk + bjVj, we define p,[ F ] := Ho(1 ~- b,) F(V~) +/-/1(1 - b , ) F ( S , ) +/7o(1 - b,)R'~(O) +/~(1 - b,)R',(1) + G o ( 1 - bi)[[R;(O ), R;'(0)], R;(0)]
+Gl(1-bi)[[R~(1 ), n ; ' ( 1 ) ] , R;(1)]
(3.6)
where
R'(O) = ( x - xi)Fx(Vi) + (y-y,)Fy(Vi) l-b,
R'(1) =
, . = R,(V~),
( x - xi)Fx( S,) + (y - yi)Fy( Si) l-b,
= R~( S,)
[ [ R ; ( 0 ) , R;'(0)], R ; ( 0 ) ] -
IIR;(O) II4k(V~)e2(V,)
and
= I[ R', (0)I[ 4(kN(V~)N(V~) + kg(V~)[ N(V~), R;(0)] ), [[R~(1), RT(1)], R;(1)] - - I I R ' ( 1 ) I I ' k ( S ~ ) e 2 ( S , )
= IIR$(1)II "(kN(S~)g(s,) + kg(S~)[ N(S,), R~ (1)]).
H. Hagen /Geometric surfacepatches without twist constraints
184
Using convex combinations, we get the interpolation operator P [ F ] := = b3b]Px[ F] + b~b3P2[F] + b~b32P3[F]
(3.8)
33 33 33 b2b 2 + bib 3 + bib 2
Since the weight functions
bj3bk3 Wi:~-=
3 3
3 2
3 3;
b2b3 + bib 3 + bab2
i,j,k=l,2,3i~jCk4=i
have the properties: (a) 3 Ei_ xWi -_- I , (b) W~ Is, = 6,j, (c) BW/I s, = 0 and B2Wrl s, = 0 (a represents any first-order differentiation and ~2 any second-order differentiation), we have just proved: Theorem 3.9. Let T be an arbitrary triangle and F ~ C 3, where
cg..= z:Fec (r);ax,ay
ec°(s,),
n+m=3"i---1,2,3
.
Then
P[ FI =" b3b3px[ F] + b3b3P2[F] + b~b3P3[ F] 33 33 33 b2b 3 + bib 3 + bib 2
interpolates to F, its first-order derivatives and its 'curvature vector' k . e 2 along ~ T. Remarks. (1) It still an unresolved problem to proof that the singularities at the vertices are removable in the sense that the interpolant approaches the required limits in position, tangent plane and curvatures as the vertex is approached from within the triangle. (2) Using (3.8) as a blending function scheme the user needs to supply N, k N and kg along each side. These data are reproduced exactly.
References Barnhill, R.E., Birkhoff, G. and Gordon, W.J. (1973), Smooth interpolation in triangles J. Approx. Theory 8, 114-128. Barnhill, R.E. (1974), Smooth interpolation over triangles, in: Barnhill, R.E. and Riesenfeld, R.F. eds., ComputerAided Geometric Design, Academic Press, New York, pp. 45-70. Barnhill, R.E. and Gregory, J.A~ (1975a), Compatible smooth interpolation in triangles, J. Approx. Theory 15, 214-225. Barnhfll, R.E.. and Gregory, J.A. (1975b), Polynomial interpolation to boundry data on triangles, mathematics of computation 29, 726-735. Gregory, J.A. (1974), Smooth interpolation without twist constraints, in: BarnhiU, R.E. and Riesenfeld, R.F., eds., Computer Aided Geometric Design, Academic Press, New York, pp. 71-88. Gregory, J.A. (1978), A blending function interpolant for triangles, in: Handscomb, ed., MultivariateApproximation, Academic Press, New York, pp. 279-287. Gregory, J.A. and Charrot, P. (1980), AC-triangular interpolation patch for computer aided geometric design, Computer Graphics and Image Processing 13, 80-87. Gregory, J.A. (1983), C 1 rectangular and non-rectangular surface patches, in: BarnhiU, R.E. and Boehm, W., eds., Surfaces in CAGD, North-Holland, Amsterdam, pp. 25-33. Hagen, H. (1985), Geometric spline curves, Computer Aided Geometric Design 2, 223-227. Nielson, G.M. (1979), The side vertex method for interpolation in triangles, J. Approx. Theory 25, 318-336. do Carmo, X.X. (1976), Differential Geometry of Curves and Surfaces, Prentice-Hall, Englewood Cliffs, NJ, 1976. Kreysz.ig, X.X. (1964), Differential Geometry, University of Toronto Press, 1964.