8/22/2019 Curvature Form
1/22
Computer Aided Geometric Design 16 (1999) 355376
On the curvature of curves and surfaces defined by normalforms
Erich Hartmann 1
Darmstadt University of Technology, Department of Mathematics, Schlossgartenstr. 7, D-64289 Darmstadt,
Germany
Received July 1998; revised November 1998
Abstract
The normalform h = 0 of a curve (surface) is a generalization of the Hesse normalform of a linein R2 (plane in R3). It was introduced and applied to curve and surface design in recent papers.
For determining the curvature of a curve (surface) defined via normalforms it is necessary to have
formulas for the second derivatives of the normalform function h depending on the unit normal and
the normal curvatures of three tangential directions of the surface. These are derived and applied to
visualization of the curvature of bisectors and blending curves, isophotes, curvature lines, feature
lines and intersection curves of surfaces. The idea of the normalform is an appropriate tool for
proving theoretical statements, too. As an example a simple proof of the Linkage Curve Theorem
is given.
1999 Elsevier Science B.V. All rights reserved.Keywords: Normalform; Hessian matrix; Curvature; Normal curvature; Bisector; Gn-blending;
G2-continuity; Umbilic points; Isophote; Curvature line; Feature line; Ridge; Ravine; Intersection
curve; Foot point
1. Introduction
The normalform h = 0 of a curve (surface) is a generalization of the Hesse normalformof a line in R2 (plane in R3). It was introduced and applied to curve (surface) design
in (Hartmann, 1998a, 1998b). But only in rare cases (lines and circles in R2, planes
and spheres in R3) the normalform function h is known explicitly. So the evaluation ofh for a point x is done usually by determining the corresponding foot point x0 on the
curve (surface). Then h(x) is just the suitably oriented distance x x0 and the gradienth(x) is the unit normal at the foot point. The essential advantage in using normalformsis that nearly all curves (surfaces) can be treated uniformly as implicit curves (surfaces).
1 E-mail: [email protected].
0167-8396/99/$ see front matter 1999 Elsevier Science B.V. All rights reserved.
PII: S 0 1 6 7 - 8 3 9 6 ( 9 9 ) 0 0 0 0 3 - 5
8/22/2019 Curvature Form
2/22
356 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
So simple algebraic manipulations solve difficult blending and approximation problems
(cf. (Hartmann, 1998a, 1998b)). The result of such a manipulation is in any case an implicit
curve (surface) only depending on the geometry of the involved curves (surfaces) andnot on the used representation (parametric, implicit,. . .) which is accidentally chosen. For
visualization or intersection of implicit surfaces it is sufficient to be able to calculate h(x)
and h(x). Concerning any question about the curvature and its visualization one needs thesecond derivatives (Hessian matrix Hh) of the normalform function h. The Hessian matrix
Hh(x) at a point x depends on the curvature (normal curvatures) at the corresponding foot
point x0. The main result of this paper are formulas for the Hessian matrix Hh dependingon the unit normal and the curvature (three normal curvatures) of arbitrarily defined curves
(surfaces), especially for implicitly and parametrically defined curves (surfaces). Hence
the curvature(s) of a curve (surface) which is defined via normalforms of other curves(surfaces) can be calculated and visualized (cf. Section 5).
In Section 2 the normalform of a curve/surface is defined and a fundamental property
of the normalform function h is given. Section 3 deals with the case of a planar curve.The gradient h and the Hessian matrix Hh of the normalform function h are derived asfunctions of geometric properties. The examples of implicit curves and parametric curves
are considered in detail. Section 4 contains the formulas for surfaces with special attention
to implicit and parametric surfaces. Furthermore, the normalform is applied to prove the
Linkage Curve Theorem. In Section 5 we introduce stable foot point algorithms for curves
and surfaces and use the derived results for visualizing the curvature of blending curvesand surfaces.
2. The normalform of a curve/surface
Analogously to the Hesse normalform of a line in R2 and a plane in R3 we define the
normalform for a curve and a surface.
Definition. Let ( ) be a smooth implicit curve (surface) h = 0 inR2(R3). If the functionh is continuously differentiable and h = 1 on ( ) and in a vicinity of ( ) thenthe equation h = 0 is called normalform of ( ) and h the corresponding normalform
function or (as of its geometrical meaning) oriented distance function.
We get the following result out of the theory of the nonlinear partial differential equationh2 = 1 (cf. Courant and Hilbert, 1962, p. 88; Weise, 1966, p. 193; Gilbarg andTrudinger, 1983, p. 355):
Result. Let ( ) be a C2-continuous curve (surface) in R2(R3). Then there exists in
a vicinity of ( ) a unique differentiable function h such that h = 0 is the normalformof ( ).
If ( ) is of continuity class Cn then function h, too.
h fulfills the fundamental equation
h
x + h(x)= h(x) + .
8/22/2019 Curvature Form
3/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 357
If x ( ) then h(x + h(x)) = is the (oriented) distance of point x + h(x) tothe curve (surface) and x is the foot point of x + h(x) on the curve (surface). Equationh = describes the offset curve (surface) of distance . Hence offset curves (surfaces)have the same geometric continuity as the base curve (surface) h = 0 (This is Theorem 1of (Hermann, 1998)).
Remark. (a) The existence and the continuity statement of the above result can also be
obtained from Section 3.1 in (Hartmann, 1998a).
(b) The continuity assumption Cn, n 2, can be reduced to C1-continuous curves and
surfaces which are piecewise C2. A further reduction of the precondition is contained in
(Ostrowski, 1956).
Function h is known explicitly in rare cases only. In general the evaluation ofh is done
numerically by determining foot points (cf. Section 5). Once the foot point of a point in thevicinity is known, the first and second derivatives of h can be evaluated using the normal
vector and the curvature(s) of the curve (surface) (see below).
3. The first and second derivatives of the normalform of a planar curve
3.1. The first and second derivatives on the curve
Let h(x,y) = 0 be the normalform of a planar curve 0 with continuous first and secondderivatives. Hence, h2x + h2y = 1. Differentiating this equation yields
hx hxx + hy hxy = 0,hx hxy + hy hyy = 0.
Properties of the Hessian matrix Hh of function h are:
h is eigenvector ofHh with eigenvalue 1 = 0.There exists a second eigenvalue 2 = with the tangent vector t := (hy , hx ) aseigenvector. (h)tT = HhtT = t describes the change of the unit normal vector hin tangent direction and tHht
T = its amount. Hence is the curvature of curveh = 0.
= h2y hxx 2hx hy hxy + h2x hyy .
The characteristic polynomial ofHh is 2
(hxx + hyy ) anddet(Hh) = 0, = hxx + hyy and H2h = Hh.
The determinant of the linear system
hx hxx + hy hxy = 0,hy hyy + hx hxy = 0,
h2y hxx + h2x hyy 2hx hy hxy =
8/22/2019 Curvature Form
4/22
358 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
for hxx , hyy , hxy is 1. Hence, the Hessian matrix Hh of the normalform function h canbe expressed at curve point (x,y) by the gradient h(x,y) (unit normal) and the curvature(x,y):
Hh :=
hxx hxy
hyx hyy
=
h2y hx hy
hx hy h2x
= (hy , hx )T(hy , hx ).
3.1.1. Example 1: Implicit curve
Let : f (x ,y ) = 0 be a regular implicit curve with continuous second derivatives offunction f and h its normalform function.
For a curve point (x,y) we have
(1) h = 0,(2) h = ff ,
(3) = (fy, fx )f
ff
(fy , fx )f
T
= (fy, fx )f
Hf
f f
(fy , fx )f
T
=f2y fxx
2fx fy fxy
+f2x fyy
(f2x + f2y )3/2 (amount of change of unit normal vector),
Hh =
h2y hx hyhx hy h2x
= 1f5
fxx fxy fx
fyx fyy fy
fx fy 0
f2y fx fyfx fy f2x
.
3.1.2. Example 2: Parametric curve
Let 0: x = c(t) = (c1(t),c2(t)) be a regular parametrically defined curve withcontinuous second derivatives and h its normalform function.
For a curve point c = (c1, c2) we have(1) h(c) = 0,(2) h(c) = (c2, c1)/c,(3) (c) = det(c, c)/c3,
Hh(c) =
h2y hx hyhx hy h2x
= det(c, c)c5
c21 c1c2
c1c2 c22
.
8/22/2019 Curvature Form
5/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 359
3.2. The first and second derivatives in the vicinity of the curve
Let x 0 be in such a way that h is C2
-continuous with curvature . The distanceparameter R is chosen so that 1 + (x) > 0 and h is C2-continuous at pointx := x + h(x). Differentiating the fundamental equation h(x) = h(x) + yields:
I + Hh(x)h(x) = h(x),
with Hessian matrix Hh and 2 2 unit matrix I. This is a linear system for vector h(x)with determinant det(I + Hh(x)) = 1 + = 0. The unique solution is
h(x) = h(x).
(For the proof remember that h(x) is eigenvector ofHh with eigenvalue 0.)Differentiating this equation yields
I + Hh(x)Hh(x) = Hh(x).The unique solution of this linear system for Hh(x) is
Hh(x) =Hh(x)
1 + (x) =(x)
1 + (x)
h2y (x) hx (x)hy (x)
hx (x)hy (x) h2x (x)
.
(For the proof use the identity H2h = Hh.)The curvature of the offset curve : h = (of0) at point x is
(x) =(x)
1
+ (x)
.
(x is the foot point ofx on 0.)
4. The second derivatives of the normalform of a surface
4.1. The second derivatives on the surface
Let h(x,y,z) = 0 be the normalform of a surface 0 with continuous first and secondderivatives ofh. Differentiating h2x + h2y + h2z = 1 yields
hx hxx + hy hxy + hzhxz = 0, (1)hx hxy + hy hyy + hzhyz = 0, (2)hx hxz + hy hyz + hzhzz = 0. (3)
We get the following properties and applications of the Hessian matrix of the normalform
function h: Considerations analogous to the plane case show:
The normal curvature for unit tangent direction v is n = vHhvT.(n is the curvature of the surface curve contained in the normal plane determined by
point x, the gradient h and the tangent vector v.)
8/22/2019 Curvature Form
6/22
360 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
The eigenvalues of the Hessian matrix Hh are1 = 0 with eigenvector h,2 = min, 3 = max (main curvatures). The characteristic polynomial ofHh is 3 + 2H 2 K withmean curvature
H := 12 (min + max) = 12 (hxx + hyy + hzz) andGaussian curvature
K := minmax = hxx hxy
hyx hyy
+ hxx hxz
hzx hzz
+ hyy hyz
hzy hzz
.The minimal polynomial is the characteristic polynomial if min = max (nonumbiliccase) and 2 if := min = max (umbilic case).(Prove it after diagonalizing Hh!)
There exist two orthogonal unit eigenvectors vmin, vmax corresponding to min and
max respectively. Hence the curvature for direction v() := vmin cos + vmax sin is() = min cos2 + max sin2 ,
which is the well known Euler formula.
For min = max (nonumbilic case) vmin, vmax are called principal directions. Fordetermining the principal directions we introduce local base vectors in the tangent
plane:
e1 := (hy , hx , 0)/ if (hx > 0.5 or hy > 0.5) elsee1 := (hz, 0, hx )/ and e2 := h e1.A unit eigenvector vmin belonging to main curvature min can be written as vmin =e1 + e2. Inserting this equation into the linear system (Hh minI )xT = 0T yields:, are solutions of the system
+ = 0, 2 + 2 = 1,with := e1(Hh minI )eT1 = e1HheT1 min and if = 0 then := e1(Hh minI )e
T2 = e1HheT2 else := 1.
Hence
vmin =e1 e2
2 + 2, vmax =
e1 + e22 + 2
.
Numerical instabilities ( 0, 0) may occur if min max or e1 vmin.The second reason can be omitted by rotating the bases e1, e2 by 45
. Furtherdiscussions of numerical instabilities for parametrically defined surfaces are contained
in (Farouki, 1998).
Remark. In order to respect the first three equations, as mentioned above, we rewrite the
elements of the Hessian in an asymmetrical way:
hxx =
h2x + h2y + h2y
hxx =
h2y + h2z
hxx + h2x hxx= h2y + h2zhxx hx hy hxy hxhzhxz (Eq. (1) used),
hxy =
h2x + h2z
hxy hx hy hxx hxhzhxz (Eq. (1) used),
8/22/2019 Curvature Form
7/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 361
hyx =
h2y + h2z
hxy hx hy hyy hx hzhyz (Eq. (2) used),
By using the equation h2x + h2y + h2z = 1 and the formula for the mean curvature H andGaussian curvature K respectively one gets
2H =
hxx hxy hx
hyx hyy hy
hx hy 0
+
hyy hyz hy
hyz hzz hz
hy hz 0
+
hxx hxz hx
hxz hzz hz
hx hz 0
,
K
=
hxx hxy hxz hx
hyx hyy hyz hy
hzx hzy hzz hz
hx hy hz 0
.
4.1.1. Case hx hy hz = 0In order to get further three linear conditions for the six second derivatives of h (on the
surface) we consider the normal curvatures i = vi HhvTi for the three tangent vectors
v1 =(0, hz, hy )
h2y + h2z, v2 =
(hz, 0, hx )h2x + h2z
, v3 =(hy , hx , 0)
h2x + h2y.
Hence the second derivatives of h fulfill the linear system:
hx hxx + hy hxy + hzhxz = 0,hy hyy + hx hxy + hzhyz = 0,
hy hzz + hy hyz + hx hxz = 0,h2y hxx + h2x hyy 2hx hy hxy = 3
h2x + h2y
,
h2zhyy + h2y hzz 2hy hzhyz = 1
h2y + h2z
,
h2z hxx + h2x hzz 2hxhzhxz = 2
h2x + h2z
.
With respect to the identity h2x
+h2y
+h2z
=1 the determinant is
2hx hy hz. Applying
CRAMERs rule and using the annotations
k1 := 1
h2y + h2z
, k2 := 2
h2x + h2z
, k3 := 3
h2x + h2y
and the identity h2x + h2y + h2z = 1 yield
hxx = (k1 + k2 + k3)h2x + k2 + k3,hyy = (k1 + k2 + k3)h2y + k3 + k1,hzz = (k1 + k2 + k3)h2z + k1 + k2,
8/22/2019 Curvature Form
8/22
362 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
hxy = (k1 + k2 + k3)hx hy +k1h
2x + k2h2y k3h2z
2hx hy,
hyz = (k1 + k2 + k3)hy hz +k1h2x + k2h2y + k3h2z
2hy hz,
hxz = (k1 + k2 + k3)hx hz +k1h
2x k2h2y + k3h2z
2hx hz.
Remark. (a) 12 (k1 + k2 + k3) is the mean curvature of the surface at the surface point ofconsideration.
(b) The Hessian matrix of the normalform function h is uniquely determined by the unit
normal (hx , hy , hz) and the three curvatures 1, 2, 3.
4.1.2. Case hz = 0Now we assume that hz = 0. Hence, h2x + h2y = 1.We choose the following three special tangent vectors:
v1 =(hy ,hx , 1)
2, v2 =
(hy , hx , 1)2
, v3 = (0, 0, 1).
Hence the six second derivatives ofh fulfill the linear system:
hx hxx + hy hxy + hzhxz = 0,hy hyy + hx hxy + hzhyz = 0,
hy hzz + hy hyz + hx hxz = 0,h2y hxx + h2x hyy + hzz 2hxhy hxy 2hxhyz + 2hy hxz = 21,h2y hxx + h2x hyy + hzz 2hxhy hxy + 2hxhyz 2hy hxz = 22,
hzz = 3.The determinant is 4. Applying CRAMERs rule and the identity h2x + h2y = 1 yield
hxx = h2y (1 + 2 3), hyy = h2x (1 + 2 3), hzz = 3,hxy = hx hy (1 + 2 3), hyz = hx (2 1)/2, hxz = hy (1 2)/2.
The cases hx = 0 and hy = 0 are dealt analogously.4.1.3. Example 1: Implicit surface
Let f (x ,y ,z) = 0 be a smooth surface with continuous second derivatives of f. For asurface point x we have
(1) h = 0.(2) h = f /f.(3) The normal curvature of an implicit surface f (x) = 0 is n = vHfvT/f with
unit tangent vector v and Hessian matrix Hf:
8/22/2019 Curvature Form
9/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 363
(a) Iffx fy fz = 0:
1 =f2
zf
yy 2f
yf
zf
yz +f2
yf
zzf(f2y + f2z ), 2 = f
2
z fxx 2fx fzfxz + f2
x fzzf(f2x + f2z ),
3 =f2y fxx 2fx fy fxy + f2x fyy
f(f2x + f2y ).
(b) Iffz = 0:1 =
f2y fxx + f2x fyy + fzz 2fx fy fxy 2fx fyz + 2fy fxzf(1 + f2x + f2y )
,
2
=
f2y fxx + f2x fyy + fzz 2fx fy fxy + 2f2x fyz 2fy fxz
f(1 + f2
x + f2
y )
,
3 =fzz
f .
Hh is determined by h and the corresponding curvatures 1, 2, 3 (see formulasabove).
4.1.4. Example 2: Parametrically defined surface
Let x = S(u,v) be a smooth surface with continuous second derivatives. For a surfacepoint S = (X,Y,Z) we have
(1) h = 0.
(2) h = Su SvSu Sv.
(3) (a) Case hx hy hz = 0:
1 = LX2v 2MXuXv + N X2uEX2v 2F XuXv + GX2u
, 2 = LY2v 2MYuYv + N Y2uEY2v 2F YuYv + GY2u
,
3 = LZ2v 2MZuZv + N Z2uEZ 2v 2F ZuZv + GZ2u
.
(b) Case hz = 0:If(Xu, Xv) = (0, 0) then v1 = XvSu + XuSv = (0, 0, . . . ) and
1 = LX2v 2MXuXv + N X2uEX2v 2F XuXv + GX2u
.
Let be v0 := ZvSu +ZuSv = ( . . . , . . . , 0), and v2 = (v0/v0+v1/v1)/
2.
Hence, v2 = 1 and2 = (L22 2M22 + N22),
8/22/2019 Curvature Form
10/22
364 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
with
2: =
ZvEZ 2v 2F ZuZv + GZ2u
XvEX2v 2F XuXv + GX2u
,
2 : =Zu
EZ 2v 2F ZuZv + GZ2u+ Xu
EX2v 2F XuXv + GX2u.
For v3 = (v0/v0 + v1/v1)/
2 we get 3 = (L23 2M33 + N 23),with
3 : =Zv
EZ 2v 2F ZuZv + GZ2u Xv
EX2v 2F XuXv + GX2u,
3 : = Zu
EZ 2v 2F ZuZv + GZ2u
+ Xu
EX2v 2F XuXv + GX2u
.
If(Xu
, Xv
)=
(0, 0) then replace (Xu
, Xv
) by (Yu
, Yv
).E , F , G are the coefficients of the first whereas L , M , N are the coefficients of thesecond fundamental form of the surface.
Hh is determined by h and the curvatures 1, 2, 3 (see formulas above).4.1.5. Example 3: Surfaces defined by several equations
In (Chuang and Hoffmann, 1990) algorithms for the computation of the surface normal
and the normal curvature of surfaces defined by m > 1 equations are introduced. So the
Hessian matrix of the normalform of such a surface can be evaluated by using the algorithmof (Chuang and Hoffmann, 1990) and the formulas derived above.
4.2. The first and second derivatives in the vicinity of the surface
Let x 0 be in such a way that h is C2-continuous with main curvatures min, max.The distance parameter R is chosenin such a waythat 1+min(x) > 0, 1+max(x) >0 and h is C2-continuous at point x := x + h(x). Differentiating the fundamentalequation h(x) = h(x) + yields
I + Hh(x)h(x) = h(x),
with Hessian matrix Hh and 3 3 unit matrix I. This is a linear system for vectorh(x) with determinant det(I + Hh(x)) = (1 + min)(1 + max) = 0. (Evaluate thecharacteristic polynomial p() of matrix Hh for = 1.) The unique solution is
h(x) = h(x).
(For the proof take into account that h(x) is eigenvector ofHh with eigenvalue 0.)Differentiating this equation yields (as in the plane case)
I + Hh(x)
Hh(x) = Hh(x).The unique solution of this linear system for Hh(x) is
Hh(x) =(1 + (min(x) + max(x)))Hh(x) Hh(x)2
(1 + min(x))(1 + max(x)).
8/22/2019 Curvature Form
11/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 365
(For the proof use the identity H3h + (min + max)H2h minmaxHh = 0.)Ifmin = max = (umbilic case) we get the simplification
Hh(x) = Hh(x)1 + (x) .
(In this case the minimal polynomial ofHh is 2 = 0.)
A second possibility for determining Hh(x) is using the relations
1(x) =1(x)
1 + 1(x), 2(x) =
2(x)
1 + 2(x), 3(x) =
3(x)
1 + 3(x)and the formulas for hxx , hxy , . . . above.
Remark. For the offset surface h = we get the following results:
min(x) =min(x)
1 + min(x), max(x) =
max(x)
1 + max(x).
(Corresponding principal directions are parallel!)
Gauss curvature
K(x) =K(x)
1 + 2H (x) + 2K(x) ,
mean curvature
H (x) =H (x) + K (x)
1+
2H (x)+
2K(x).
4.3. On the linkage curve theorem
In order to show that the normalform is an appropriate tool for theoretical considerations
we give a simple proof of the linkage curve theorem of X. Ye.
At a surface point p we will use a local coordinate system in such a way that p is the
origin 0 and h(0) = (0, 0, 1). Hence the x-y-plane is the tangent plane at point p = 0 andfor the Hessian we get the simplification (because of Eqs. (1)(3) in Section 4.1)
Hh
(0)=
hxx hxy 0
hyx hyy 00 0 0
.
For this specialization we get the following results
Hh is determined uniquely by the normal curvatures of any three tangential directions.This is the 3-Tangent-Theorem (cf. Pegna and Wolter, 1992). The proof is straight
forwarded calculation.
hxx , hyy are the normal curvatures in direction (1, 0, 0), (0, 1, 0) respectively, H =(hxx + hyy )/2 the mean curvature and K = hxx hyy h2xy the Gaussian curvature.
8/22/2019 Curvature Form
12/22
366 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
From the Taylor expansion ofh at point 0 we get the Dupin indicatrix of the surfaceat point 0:
hxx x2 + 2hxy xy + hyy y2 = 1.
Lemma. Let 1, 2 be two G2-continuous surfaces with common point 0, common
tangent plane z = 0 and common tangent planes along the common smooth curve: x(t) = (t,b(t),c(t)), t [0, t0], with x(0) = 0 and x(0) = (1, 0, c). We then get forthe Hessian matrices Hh1, Hh2 of the normalform functions h1, h2 of the surfaces 1, 2:
h1,xx (0) = h2,xx (0), h1,xy (0) = h2,xy (0).
Proof. For (t,b(t),c(t)) we have h1(t,b(t),c(t)) = h2(t,b(t),c(t)). Differenti-ating this equation yields
Hh1
t,b(t),c(t)
1, b(t), c(t)
T = Hh2
t,b(t),c(t)
1, b(t), c(t)
T.
For t= 0 we get h1,xx (0) = h2,xx (0), h1,xy (0) = h2,xy (0) (Remember the simple Form ofthe Hessian matrix and b(0) = 0 at point 0!).
We obviously get for the Hessian matrices of the surfaces 1, 2 in the lemma shown
above the stronger result Hh1 (0) = Hh2 (0) if we choose additionally a suitable geometricrestriction which yields h1,yy (0) = h2,yy (0). For example one of the following conditions
The equality of the mean curvatures:2H (0) = h1,xx (0) + h1,yy (0) = h2,xx (0) + h2,yy (0).
The equality of the Gaussian curvatures:K(0) = h1,xx (0)h1,yy (0) h1,xy (0)2 = h2,xx (0)h2,yy (0) h2,xy (0)2
if the normal curvature h1,xx (0) in direction (1, 0, 0) does not vanish.
The equality of the normal curvature in a direction v = (a, 1, 0), a R, transversal tocurve at point 0:
a =a2h1,xx + h1,yy + 2ah1,xy
1 + a2 =a2h2,xx + h2,yy + 2ah2,xy
1 + a2 .
These considerations prove the following theorem
Linkage Curve Theorem (Ye, 1996). Let 1 and 2 be two G2-continuous surfaces
which are tangent plane continuous along a smooth linkage curve . 1 and2 are G2-
continuous along ifone of the following conditions is fulfilled:
1 and2 have the same mean curvature along . 1 and2 have the same Gaussian curvature and nonvanishing normal curvature in
-direction along .
There exists a transversal vector field (not necessarily continuous) along , such thatthe normal curvatures of1 and2 in directions of the vector field are the same.
8/22/2019 Curvature Form
13/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 367
5. Applications
5.1. Stable first order foot point algorithms
For applying the normalform and its first two derivatives it is essential to have stable
algorithms for determining foot points on curves and surfaces. We give here algorithmsfor implicit and parametric curves which use only first order derivatives. They can easily
be extended to surfaces. The heart of the algorithms is the combination of calculating foot
points on tangents and approximate foot points on tangent parabolas. The curvature of the
curves (surfaces) is respected indirectly by the tangent parabolas.
5.1.1. Foot point algorithms for parametric curves and surfaces
Let : x(t) = c(t) be a smooth planar curve, p a point in the vicinity of and t0 theparameter of a starting point for the foot point algorithm:
repeat
pi = c(ti ),t= (p pi ) c(ti )/c(ti )2, qi = pi + tc(ti ) (foot point on tangent),pi+1 = c(ti + t), f1 := qi pi , f2 := pi+1 qi ,if qi pi > then (one Newton step for the foot point on the tangent parabolax = pi + f1 + 2f2)a0 := (p pi ) f1, a1 := 2f2 (p pi ) f21, a2 := 3f1 f2, a3 := 2f22,
:= 1 a0 + a1 + a2 + a3a1 + 2a2 + 3a3
,
if0 < < max then (prevent extreme cases)
ti+1 = ti + t, pi+1 = c(ti+1)until pi pi+1 < .
foot point f= pi+1.For the examples below we set = 106 and max = 20.We get the analogous algorithm for a parametric surface : x = S(u,v), in case we
replace t by the corresponding parameter corrections (u,v) for the foot point on the
tangent plane at point pi = S(ui , vi ). They are the solution of the linear system:(p pi ) eu = ue2u + v(eu ev),(p pi ) ev = u(eu ev) + ve2v ,
with eu := Su(ui, vi ), ev := Sv(ui , vi ).
5.1.2. Foot point algorithms for implicit curves and surfaces
Let : f (x) = 0 be a smooth planar implicit curve. We use the following procedurecurvepoint which calculates for a given point p in the vicinity of a curve point c
along the steepest way:
(CP0) q0 = p(CP1) repeat qk+1 = qk (f (qk)/f (qk)2)f (qk) (Newton step)
until qk+1 qk < .curve pointc = qk+1.
8/22/2019 Curvature Form
14/22
368 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
Let p be a point in the vicinity of curve . The following algorithm determines the footpointofp on :
(FP0) p0 = curvepoint(p)(FP1) repeat
qi = p ((p pi ) f (pi )/f (pi )2)f (pi ) (foot point on tangent line),pi+1 = curvepoint(qi ), f1 := qi pi , f2 := pi+1 qi ,ifqi pi > then (one Newton step for the foot point on the tangent parabolax = pi + f1 + 2f2)a0 := (p pi ) f1, a1 := 2f2 (p pi ) f21, a2 := 3f1 f2, a3 := 2f22,
:= 1 a0 + a1 + a2 + a3a1 + 2a2 + 3a3
,
if0 < < max then (prevent extreme cases)
qi
=pi
+f1
+2f2, pi
+1
=curvepoint(qi ),
until pi pi+1 < .foot point f= pi+1.
For the analogous surface foot point algorithm one has to replace only the words curve
and line by surface and plane.
For displaying an implicit curve we use the following tracing algorithm for a smoothimplicit curve : f = 0:
(IC0) Choose a starting point q1 in the vicinity of.
(IC1) pi := curvepoint(qi ) (see algorithm curvepoint above),ti := (fy (pi ), fx (pi ))/ . . . (unit tangent),qi+1 := pi + ti (: step length).
The tracing algorithm stops if pi is near a prescribed endpoint (or another termination).
5.2. Curvature of bisectors of two curves
Let 1, 2 be two smooth parametric or implicit curves and h1 = 0, h2 = 0 their normalforms. Hence, the equations
h1(x) h2(x) = 0, h1(x) + h2(x) = 0are implicit representations of the bisector curves (points, which have equal distance to 1and 2, cf. (Farouki and Johnstone, 1994; Hartmann, 1998b)).
The bisectors can be traced by the marching algorithm for implicit curves above.
Example. Fig. 1 shows two Bzier curves (bold curves) and their bisectors. The curvature
at a curve point x is visualized by a pin proportional to (porcupines). The necessaryevaluation of the normalforms of the Bzier curves and their derivatives is done by the foot
point algorithm (Section 5.1.1) and the formulas for the gradient and the Hessian matrix ofSection 3.
5.3. Curvature of planarGn-blending curves
Let be 1: f1(x) = 0, 2: f2(x) = 0 two implicit curves and 0: f0(x) = 0 a line whichintersects 1 and 2 (fi differentiable enough). Then
8/22/2019 Curvature Form
15/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 369
Fig. 1. Curvature of the bisectors of two Bzier curves.
: (1 )f1f2 fn+10 = 0, 0 < < 1,
is for any a curve with Gn-continuous contact to the curves 1 and 2 at the intersectionpoints 1 0, 2 0. The blending curves are called parabolic functional splines(Hartmann, 1998b)).
Example. By using the normal form this (and any other) implicit blending method is
applicable to nearly arbitrary curves, especially to parametric curves. Fig. 2 shows a G2-
blending curve of two Bzier curves. The continuity of the curvature between the Bzier
curves and the blending curve is visualized by pins representing the magnitude of the
curvature.
5.4. Isophotes on G
n
-blending surfaces
Let 1: f1 = 0, 2: f2 = 0 be two implicit surfaces and the plane implicit curve (thecorrelation curve)
k(c,d) = (1 ) cdc0d0
1 cc0
dd0
n+1= 0, 0 < < 1, n 0.
Then the implicit surface : F (x) := k(f1(x), f2(x)) = 0 has Gn-continuous contact tothe surfaces 1 and 2 (cf. Hartmann, 1998a). We call such blending surfaces elliptic
8/22/2019 Curvature Form
16/22
370 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
Fig. 2. Curvature of a G2-blending of two Bzier curves.
functional splines. (For n=
1, =
1/3 the correlation curve k=
0 is an ellipse that touches
the coordinate axes.)
Example. Let 1 and 2 be two tensor product Bzier patches with parametric
representations
1: x =
10v 5, 10u 5, 6(u u2 + v v2),2: x =
6(u u2 + v v2), 10u 5, 10v 5.
and normal forms h1 = 0 and h2 = 0 respectively. The normalforms are not explicitlyknown. For visualizing the blending surface F = k(h1, h2) and its curvature we use theformulas for hi and Hhi developed above. Fig. 3 shows a G2-blending (normal curvaturesare continuous), Fig. 4 a G
1
-blending (only tangent planes are continuous) with parametersc0 = d0 = 2.5 and = 0.1. The curvature is visualized by isophotes. An isophote is thecollection of all surface points for which the scalarproduct n v is constant for unit normaln and fixed unit vector v (light vector). For an implicit surface f = 0 the isophotes areintersection curves between the given surface and the implicit surface with the equation
f /f v c = 0, 1 < c < 1. They can be traced by the algorithm given in (Bajajet al., 1988) or (Hartmann, 1998a). Fig. 4 shows the tangent discontinuity of the isophotes
(and the normal curvatures) at the curves of contact between the blending surface and the
Bzier patches. Light vector v for the figures is (2, 2, 5)/ .
8/22/2019 Curvature Form
17/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 371
Fig. 3. Isophotes of a G2-blending of two tensor product Bzier surfaces.
Fig. 4. Isophotes of a G1-blending of two tensor product Bzier surfaces.
5.5. Isophotes, curvature lines and feature lines of a smooth approximation of a set of
intersecting surfaces
Given are
(1) the implicit surface 1: (x 2)4 + y4 r 41 = 0, r1 = 2,
8/22/2019 Curvature Form
18/22
372 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
Fig. 5. Isophotes on a smooth approximation of three surfaces.
(2) the parametric surface patch
2: x =
10v 5, 10u 5, 6(u u2 + v v2), 0 u 1, 0 v 0.8,(3) the parametric surface patch
3: x =
6(u u2 + v v2) 5, 10u 5, 10v 5,0 u 1, 0.5 v 1.
Let h1(x) = 0, h2(x) = 0, h3(x) = 0 be the normalforms of these surfaces. The implicitsurface : f (x) := h1(x)h2(x)h3(x) = c, c > 0 is a smooth approximation of the set ofsurfaces 1, 2, 3. The approximation is independent of their representations.
Fig. 5 shows a triangulation of f (x) = c for c = 0.2 and some isophotes for lightvector v = (2, 2, 5)/ . The triangulation is obtained by applying the marching methodintroduced in (Hartmann, 1998c) for implicit surfaces.
A curvature line is a surface curve with the following property: The tangent of ata non umbilical surface point x is one of the principal directions of the normal curvatures.
Fig. 6 shows the given surface together with some lines of curvature.
8/22/2019 Curvature Form
19/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 373
For displaying the curvature line we use the following tracing algorithm:
(CL0) q0 point in the vicinity of the surface, step length.
p0 = surfacepoint(q0) (see Section 5.1.2).Calculate the principal directions vmin, vmax at point p0 (see Section 4.1).
Let v0 be one of the four directions vmin, vmin, vmax, vmax.(CL1) Determine the intermediate point pi+1 := surfacepoint(pi +vi) and its principal
directions vmin, vmax.
Let be c1 := vmin vi , c2 := vmax vi .If|c1| > 0.7 then vi+1 := sign(c1)vmin else vi+1 := sign(c2)vmax.ti := 12 (vi + vi+1) (tracing direction).Determine pi+1 = surfacepoint(pi + ti ) and its principal directions vmin, vmax.Let be c1 := vmin ti , c2 := vmax ti .If|c1| > 0.7 then vi+1 := sign(c1)vmin else vi+1 := sign(c2)vmax.
Remark. For many purposes the global error of the curvature line algorithm may be small
enough. But it can be further reduced by RUNGEKUTTA tracing steps.
For various applications (segmentation, pattern recognition, . . . , cf. (Belyaev et al.,
1997; Belyaev et al., 1998; Lukacs and Andor, 1998)) feature lines are important. Feature
lines are either ridges or ravines. A ridge on a regular surface consists of the local positive
maxima of the maximal main curvature along its associated curvature line. A ravine
consists of the local positive minima of the minimal main curvature along its associated
curvature line. They can be traced from a starting point on a starting curvature line to
the local extremum on an associated curvature line in the neighborhood using divided
differences instead of derivatives of the curvature. Fig. 6 contains some feature lines (thickcurves) of the approximation surface.
5.6. Curvature of an intersection curve
Let be 1: f1(x) = 0, 2: f1(x) = 0 two intersecting implicit surfaces which aredifferentiable enough. The curvature at a point of the intersection curve is the length
of the following vector (cf. (Hartmann, 1996))
c :=1f2 2f1f1 f23
with
1 := (f1 f2)Hf1 (f1 f2)T, 2 := (f1 f2)Hf2 (f1 f2)T.Fig. 7 shows the intersection curve of the blending surface of two Bzier patches (see
Section 5.4) with a cylinder. By using the implicit representation of the blending surface
given in Section 5.4, the implicit representation of the cylinder and the formula for
the curvature above the curvature at a curve point p is calculated and visualized by a
circle orthogonal to the intersection curve with midpoint p and radius proportional to the
curvature (p).
8/22/2019 Curvature Form
20/22
374 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
Fig. 6. Curvature lines and feature lines (thick) on a smooth approximation of three surfaces.
Remark. Out of the formula for the normal curvature of an implicit surface (see Sec-
tion 4.1) we get the following formula for the curvature at a point of the intersection curve
=
21 + 22 212 cos
sin
with
(1) the normal curvature i on surface i for direction of the intersection curve,
(2) the (smaller) angle between the tangent planes of the surfaces.This formula is independent on the representations of the surfaces! 1 := 1/ sin is the curvature of the intersection curve between surface 1 and the
tangent plane of surface 2, 2 := 2/ sin . . . .
For the geodesic curvatures 1g , 2g (of the intersection curve) on surface 1, 2respectively one gets the formulas (cf. (Hartmann, 1996)):
1g =1 cos 2
sin , 2g =
1 2 cos sin
.
8/22/2019 Curvature Form
21/22
E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376 375
Fig. 7. Curvature of an intersection curve of a blending surface and a cylinder.
6. Conclusion
Formulas for the second derivatives of the normalform function are derived and
applied to the visualization of the curvature of curves and surfaces defined by normal
forms. The evaluation of the normalform function and its derivatives needs the numerical
determination of foot points. Suitable algorithms for curves and surfaces are introduced
and applied to examples. The normal form is an appropriate tool for proving theoretical
results.
References
Bajaj, C.L., Hoffmann, C.M., Lynch, R.E. and Hopcroft, J.E.H. (1988), Tracing surface intersections,
Computer Aided Geometric Design 5, 285307.
Belyaev, A.G., Bogaevski, I.A. and Kunii, T.L. (1997), Ridges and ravines on a surface and
segmentation of range images, in: Vision Geometry VI, Proc. SPIE 3168, Melter, R.A., Wu, A.Y.,
Latecki, L.J., eds., 106114.
Belyaev, A.G., Pasko, A.A. and Kunii, T.L. (1998), Ridges and ravines on implicit surfaces, in: Proc.
Computer Graphics International 1998, Wolter, F.-E., Patrikalakis, N.M., eds., 530535.
Chuang, J.-H. and Hoffmann, C.M. (1990), Curvature computations on surfaces in n-space,
Mathematical Modelling and Numerical Analysis 26, 95112.
8/22/2019 Curvature Form
22/22
376 E. Hartmann / Computer Aided Geometric Design 16 (1999) 355376
Courant, R. and Hilbert, D. (1962), Methods of Mathematical Physics II, Interscience Publishers,
J. Wiley, New York.
Farouki, R.T. and Johnstone, J.K. (1994), Computing point/curve and curve/curve bisectors, in:Design and Application of Curves and Surfaces: Mathematics of Surfaces V, Fisher, R.B., ed.,
Oxford University Press, 327354.
Farouki, R.T. (1998), On integrating lines of curvature, Computer Aided Geometric Design 15, 187
192.
Gilbarg, D. and Trudinger, N.S. (1983), Elliptic Partial Differential Equations of Second Order,
Springer, Berlin.
Hartmann, E. (1996), G2-interpolation and blending on surfaces, The Visual Computer 12, 181192.
Hartmann, E. (1998a), Numerical implicitization for intersection and Gn-continuous blending of
surfaces, Computer Aided Geometric Design 15, 377397.
Hartmann, E. (1998b), The normalform of a planar curve and its application to curve design, in:
Mathematical Methods for Curves and Surfaces II, Daehlen, M., Lyche, T., Schumaker, L., eds.,
Vanderbilt University Press, Nashville, 237244.
Hartmann, E. (1998c), A marching method for the triangulation of surfaces, The Visual Computer14, 95108.
Hermann, T. (1998), On the smoothness of offset surfaces, Computer Aided Geometric Design 15,
529533.
Lukacs, G. and Andor, L. (1998), Computing natural division lines on free-form surfaces, in:
Mathematical Methods for Curves and Surfaces II, Daehlen, M., Lyche, T. and Schumaker, L.,
eds., Vanderbilt University Press, Nashville.
Ostrowski, A. (1956), Zur Theorie der partiellen Differentialgleichungen erster Ordnung, Math.
Zeitschr. 66, 7087.
Pegna, J. and Wolter, F.E. (1992), Geometrical criteria to guarantee curvature continuity of blend
surfaces, Transactions of ASME, Journal of Mechanical Design 114, 201210.
Pottmann, H. and Opitz, K. (1994), Curvature analysis and visualization for functions defined on
Euclidean spaces or surfaces, Computer Aided Geometric Design 11, 655674.Weise, K.H. (1966), Differentialgleichungen, Vandenhoek & Ruprecht, Gttingen.
Ye, X. (1996), The Gaussian and mean curvature criteria for curvature continuity between surfaces,
Computer Aided Geometric Design 13, 549567.