Curvature Form

Embed Size (px)

Citation preview

  • 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.