Content uploaded by Ronald N. Goldman

Author content

All content in this area was uploaded by Ronald N. Goldman on Aug 04, 2019

Content may be subject to copyright.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.1 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 1

Computer Aided Geometric Design ••• (••••)•••–•••

www.elsevier.com/locate/cagd

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Curvature formulas for implicit curves and surfaces

Ron Goldman

Department of Computer Science, Rice University, 6100 Main Street, Houston, Texas 77005-1892, USA

Abstract

Curvature formulas for implicit curves and surfaces are derived from the classical curvature formulas in Differ-

ential Geometry for parametric curves and surfaces. These closed formulas include curvature for implicit planar

curves, curvature and torsion for implicit space curves, and mean and Gaussian curvature for implicit surfaces.

Some extensions of these curvature formulas to higher dimensions are also provided.

2005 Published by Elsevier B.V.

1. Introduction

Curvature formulas for parametrically deﬁned curves and surfaces are well-known both in the classical

literature on Differential Geometry (Spivak, 1975; Stoker, 1969; Struik, 1950) and in the contemporary

literature on Geometric Modeling (Farin, 2002; Hoschek and Lasser, 1993).

Curvature formulas for implicitly deﬁned curves and surfaces are more scattered and harder to lo-

cate. In the classical geometry literature, a curvature formula for implicit planar curves is presented in

(Fulton, 1974); an algorithm, but no explicit formulas, for ﬁnding the curvature and torsion of implic-

itly deﬁned space curves is provided in (Willmore, 1959). Mean and Gaussian curvature formulas for

implicit surfaces can be found in (Spivak, 1975, vol. 3), but, somewhat surprisingly, almost nowhere

else in Differential Geometry texts in the English language. German geometry papers and texts with

curvature formulas for implicit surfaces seem to be more common (Dombrowski, 1968; Gromoll et al.,

1975; Knoblauch, 1888, 1913), but these references remain largely inaccessible to most English speaking

researchers in Geometric Modeling.

E-mail address: rng@cs.rice.edu.

0167-8396/$ – see front matter 2005 Published by Elsevier B.V.

doi:10.1016/j.cagd.2005.06.005

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.2 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 2

2R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Nevertheless, curvature formulas for implicitly deﬁned curves and surfaces are important in Geomet-

ric Modeling applications, and many of these formulas do appear scattered throughout the Geometric

Modeling literature. Curvature formulas for implicit curves and surfaces in normal form appear in (Hart-

menn, 1999). A curvature formula for arbitrary implicit planar curves appears in (Bajaj and Kim, 1991;

Blinn, 1997); mean and Gaussian curvature formulas for arbitrary implicitly deﬁned surfaces are fur-

nished by (Belyaev et al., 1998; Turkiyyah et al., 1997). To derive these curvature formulas for implicit

surfaces, (Belyaev et al., 1998) refer to (Turkiyyah et al., 1997) who in turn refer to (Spivak, 1975,

vol. 3). Procedures for ﬁnding curvature and torsion formulas for implicit space curves as well as mean

and Gaussian curvature formulas for implicit surfaces are given in (Patrikalakis and Maekawa, 2002), but

explicit closed formulas are not provided.

Curvature formulas for implicit curves and surfaces also appear in some recent texts on level set

methods (Osher and Fedkiw, 2003; Sethian, 1999). A curvature formula for implicit planar curves is

presented in both of these texts; (Osher and Fedkiw, 2003) also contains explicit formulas for the mean

and Gaussian curvature of implicit surfaces.

The purpose of this paper is to provide a service to the Geometric Modeling community by collect-

ing in one easily accessible place curvature formulas for implicitly deﬁned curves and surfaces. In order

to better understand the relationships between curvature formulas in different dimensions and different

co-dimensions, we shall develop, in each case, not just one closed formula, but several equivalent expres-

sions. We shall also provide a bridge between the parametric and implicit formulations by deriving these

curvature formulas for implicit curves and surfaces from the more commonly known curvature formulas

for parametric curves and surfaces.

In Section 2, we review the classical curvature formulas for parametric curves and surfaces. We use

these formulas in Section 3 to derive curvature formulas for implicit planar curves and in Section 4 to

derive mean and Gaussian curvature formulas for implicit surfaces. Section 5 is devoted to deriving cur-

vature and torsion formulas for implicit space curves. In Section 6 we collect all our curvature formulas

for implicit curves and surfaces together in one easily accessible location. Readers interested only in the

formulas, but not their derivations, can skip directly to Section 6. We close in Section 7 with a few open

questions for future research.

2. Curvature formulas for parametric curves and surfaces

For planar curves, curvature has several equivalent deﬁnitions:

(i) amount of deviation of the curve from the tangent line;

(ii) rate of change of the tangent direction;

(iii) reciprocal of the radius of the osculating circle;

(iv) element of area of circular image/element of arclength.

For surfaces, curvature is more complicated. In analogy with curves, curvature for surfaces should

capture the deviation of the surface from the tangent plane. But, unlike planar curves, there is more than

one way to measure this deviation. The shape of the osculating paraboloid gives a rough measure of how

the surface deviates locally from the tangent plane. More precise information is provided by the mean

and Gaussian curvatures.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.3 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 3

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 3

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Gaussian curvature

(i) product of the principal curvatures;

(ii) element of area of spherical image/element of surface area.

Mean curvature

(iii) average of the principal curvatures;

(iv) rate of change of surface area under small deformations in the normal direction.

From these ﬁrst principles, explicit curvature formulas can be derived for parametric curves and sur-

faces. We shall review these formulas in the following two subsections.

2.1. Curvature formulas for parametric curves

Consider a parametric curve P(s) in 3-dimensions parametrized by arc length. Let P(t) be any other

parametrization of P, and let P,P,andP denote the ﬁrst, second, and third derivatives of Pwith

respect to t. The unit tangent vector of Pis given by

T=dP

ds=P

|P|.

Therefore, in 3-dimensions, the curvature

k=

dT

ds

=|P×P|

|P|.

In 2-dimensions, this curvature formula reduces to

k=

dT

ds

=|Det(P P)|

|P|3.

Torsion measures deviation from the osculating plane. We shall see shortly that the torsion

τ=DetTdT

ds

d2T

ds2

k2=Det(P P P)

|P×P|2.

The Frenet equations (see below) express the derivatives of the tangent (T ), normal (N ), and binormal

(T ×N) in terms of the tangent, normal, binormal, curvature and torsion. We can use the Frenet equations

to generate explicit formulas for the curvature and torsion in terms of the tangent and normal vectors and

their derivatives (see Table 1). We shall make use of these explicit formulas in Sections 3 and 5, when we

develop closed formulas for the curvature and torsion of implicit curves.

2.2. Curvature formulas for parametric surfaces

Let P(s,t) be a parametric surface, and let Psand Ptdenote the partial derivatives of Pwith respect

to sand t. (Higher order derivatives will be denoted in the usual way by repeating sand tthe appropriate

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.4 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 4

4R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Table 1

Explicit formulas for the curvature and torsion in terms of the tangent and normal vectors and their derivatives. These formulas

follow easily from the Frenet equations

Frenet equations (Stoker, 1969) Curvature formulas Torsion formulas

dT

ds=kN k =dT

ds·Nτ=dN

ds·(T ×N)

dN

ds=−kT +τ(T ×N) k =−dN

ds·Tτ=−d(T ×N)

ds·N

d(T ×N)

ds=−τN k =dT

ds×Tτ=DetTNdN

ds

k=dN

ds×Nif τ=0τ=DetTdT

dsd2T

ds2

k2

number of times.) The normal vector to the surface is perpendicular to the tangent vectors Psand Pt.

Therefore, the unit normal is given by

N=N(s,t)=Ps×Pt

|Ps×Pt|.

Mean and Gaussian curvature for a parametric surface are usually deﬁned in terms of the ﬁrst and

second fundamental forms of the surface. These forms are given by the following matrices (Stoker, 1969):

First fundamental form:

I=Ps•PsPs•Pt

Pt•PsPt•Pt;

Second fundamental form:

II =Pss •NP

st •N

Pts •NP

tt •N=−Ps•NsPs•Nt

Pt•NsPt•Nt.

Notice that in our two matrices for the second fundamental form Pss •N=−Ps•Nsbecause Ps•N=

0. Differentiating Ps•N=0 with respect to syields Pss •N+Ps•Ns=0. The other equalities in these

matrices for the second fundamental form can be established in a similar manner.

In terms of the ﬁrst and second fundamental forms, the mean and Gaussian curvatures are computed

by the expressions given below. In the formula for the mean curvature, II∗denotes the adjoint of II—that

is,

II∗=Ptt •N−Pts •N

−Pst •NP

ss •N=−Pt•NtPt•Ns

Ps•Nt−Ps•Ns.

Gaussian curvature:

KG=Det(II)

Det(I ) .

Mean curvature:

KM=Trace(I ∗II∗)

2Det(I ) .

Though these curvature formulas are the classical formulas found in most standard books on Differen-

tial Geometry (Stoker, 1969), we need to massage these formulas slightly in order to use them effectively

when we study implicit surfaces.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.5 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 5

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 5

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Lemma 2.1.

(i) Det(I ) =|Ps×Pt|2.

(ii) Det(II)=(Ps×Pt)•(Ns×Nt).

Proof. (i) This result follows by expanding the determinant and invoking the vector identity:

(a •a)(b •b) −(a •b)2=|a×b|2.

(ii) This result follows by expanding the determinant and invoking the vector identity:

(a •c)(b •d) −(a •d)(b •c) =(a ×b) •(c ×d). 2

Corollary 2.2.

KG=(Ps×Pt)•(Ns×Nt)

|Ps×Pt|2.

Lemma 2.3. Trace(I ∗II∗)=(Ps×Pt)•(Pt×Ns)−(Ps×Pt)•(Ps×Nt).

Proof. This result follows by computing the trace and then twice invoking the vector identity:

(a •c)(b •d) −(a •d)(b •c) =(a ×b) •(c ×d). 2

Corollary 2.4.

KM=(Ps×Pt)•((Pt×Ns)−(Ps×Nt))

2|Ps×Pt|2.

3. Curvature formulas for implicit planar curves

Curvature is a second order effect—only the ﬁrst and second derivatives appear in the curvature for-

mula for parametric curves. Therefore, for implicit planar curves F(x,y) =0, the curvature should

depend only on the gradient ∇Fand the hessian H(F). We shall adopt the following notation:

∇F=∂F

∂x

∂F

∂y =(FxFy),

H(F)=

∂2F

∂x2

∂2F

∂x∂y

∂2F

∂y∂x

∂2F

∂y2

=Fxx Fxy

Fyx Fyy =∇(∇F).

Here ∇applied to a row vector means take the gradient of each component and write these component

gradients in a matrix as consecutive column vectors.

Since the gradient of F(x,y) is perpendicular to the level curves F(x,y) =c, the gradient ∇Fis

parallel to the normal of F (x,y) =0. Therefore we have the following formulas:

Planar implicit curves:

(1) Implicit curve: F(x,y) =0.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.6 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 6

6R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

(2) Normal: ∇F=(Fx,F

y).

(3) Unit normal:

N(F) =∇F

|∇F|=(Fx,F

y)

F2

x+F2

y

.

(4) Tangent: Tan(F ) =k×∇F=(−Fy,F

x).

(5) Unit tangent:

T(F)=Tan(F )

|Tan(F )|=(−Fy,F

x)

F2

x+F2

y

.

Proposition 3.1 (Curvature formula for implicit planar curves).

k=−T(F)∗H(F)∗T(F)

T

|∇F|=−(−FyFx)∗Fxx Fxy

Fyx Fyy ∗−Fy

Fx

(F 2

x+F2

y)3/2.(3.1)

Proof. From the Frenet equations,

k=−dN

ds•T.

Hence by the chain rule,

k=−

∂N

∂x

dx

ds+∂N

∂y

dy

ds•T=−T∗∇N∗TT.

But by the quotient rule,

∇N=∇

∇F

|∇F|=|∇F|∇ (∇F) −∇(|∇F|)T∗∇F

|∇F|2.

Moreover

∇(∇F)=H(F),

∇F∗TT=∇F•T=0.

Therefore we conclude that

k=−T(F)∗H(F)∗T(F)

T

|∇F|.2

A word about invariance is in order here. The curve F (x, y) =0 is identical to the curve cF (x, y) =0

for any constant c= 0. Therefore we would expect that the curvature of F(x,y) =0 should be the same

as the curvature of cF (x, y) =0. If c>0, then replacing Fby cF on the right hand side of Eq. (3.1)

introduces a factor of c3in both the numerator and the denominator, so the curvature kis unchanged.

However, replacing Fby −Fon the right hand side of Eq. (3.1) changes the sign of the numerator,

but not the sign of the denominator, thus changing the sign of k. Replacing Fby −Falso changes the

direction of the unit normal N(F) =∇F/|∇F|. Therefore the curvature vector,

k=kN(F ) =k∇F/|∇ F|

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.7 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 7

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 7

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

is invariant, but the sign of the scalar curvature kdepends on the choice of the direction of the unit normal,

which, in turn, depends on the sign of F. This sign dependence shows up in the parametric setting as

well. By the Frenet equations dT

ds=kN. The derivative dT

dsis an invariant; the signs of kand Nare not

invariants, but rather are mutually dependent. Nevertheless, we shall continue to focus on expressions for

the scalar curvature krather than the curvature vector

k, since it is expressions for the scalar curvature

that we plan to extend to curvature formulas for implicit space curves and implicit surfaces.

Example 3.1 (Circles).We can check our curvature formula on the circles

F(x,y) ≡x2+y2−R2=0.

By Proposition 3.1 to compute the curvature, we need to compute

k=−(−FyFx)∗Fxx Fxy

Fyx Fyy ∗−Fy

Fx

(F 2

x+F2

y)3/2.

Substituting for the derivatives of F,weﬁndthat

k=−(−2y2x) ∗20

02∗−2y

2x

((2x)2+(2y)2)3/2=− 8(x2+y2)

(4x2+4y2)3/2=−8R2

8R3=−1

R.

Notice that the curvature here is negative, but notice too that ∇F=(2x,2y) is the outward pointing

normal. Thus, as one would expect, the curvature vector

k=k∇F/|∇F|points into the circle and has

magnitude |k|=1/R.

Eq. (3.1) allows us to calculate the curvature of implicit planar curves, but it is difﬁcult to see how

this formula can be extended either to implicit space curves or to implicit surfaces. Implicit space curves

are deﬁned by the intersection of two implicit surfaces: {F1(x,y,z)=0}∩{F2(x,y,z)=0}. Thus for

implicit space curves we have two hessians to consider: H(F

1)and H(F

2). How then are we to replace the

hessian H(F) in Eq. (3.1)? For implicit surfaces F(x,y,z) =0, we have analogues of the gradient and

the hessian, but no analogue of the tangent vector Tan(F ), so once again it is unclear how to generalize

Eq. (3.1). To overcome these shortcomings, we shall seek alternative ways to package Eq. (3.1)—that

is, we shall seek equivalent expressions for the curvature for implicit planar curves that can be extended

either to implicit space curves or to implicit surfaces.

To ﬁnd new expressions for the curvature, we can proceed in the following fashion. In Table 1, we pre-

sented four formulas for the curvature in terms of the unit tangent, the unit normal, and their derivatives

with respect to arclength. Using these formulas and proceeding as in Proposition 3.1 applying the chain

rule and the quotient rule, we arrive at the following results.

Alternative curvature formulas

Curvature formula—k=−dN

ds•T

k=−Tan(F ) ∗H(F)∗Tan(F )T

|∇F|3=−(−FyFx)∗Fxx Fxy

Fyx Fyy ∗−Fy

Fx

(F 2

x+F2

y)3/2.(3.1)

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.8 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 8

8R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Curvature formula—k=dT

ds•N

k=Tan(F ) ∗∇(Tan(F )) ∗∇FT

|∇F|3=−(−FyFx)∗−Fxy Fxx

−Fyy Fxy ∗Fx

Fy

(F 2

x+F2

y)3/2.(3.2)

Curvature formula—k=|dN

ds×N|(τ =0)

k=|(Tan(F ) ∗H(F))×∇F|

|∇F|3=(−FyFx)∗Fxx Fxy

Fyx Fyy ×(FxFy)

(F 2

x+F2

y)3/2.(3.3)

Curvature formula—k=|dT

ds×T|

k=|(Tan(F ) ∗∇(Tan(F ))) ×Tan(F )|

|Tan(F )|3=(−FyFx)∗−Fxy Fxx

−Fyy Fxy ×(−FyFx)

(F 2

x+F2

y)3/2.(3.4)

Note that in the plane, the cross products that appear in Eqs. (3.3) and (3.4) are really scalars—

the determinants of the two factors. Thus if we want the signed curvature, we should compute these

determinants and ignore the absolute value.

We can easily check the validity of Eqs. (3.2)–(3.4) by expanding the right hand sides and observ-

ing that these expressions are each the same as the right hand side of Eq. (3.1). Eq. (3.4) is particularly

interesting because the right hand side depends only on Tan(F ). For implicit space curves, the tan-

gent direction is known, since if the space curve is given by the intersection of two implicit surfaces

{F1(x,y,z) =0}∩{F2(x,y,z) =0}, then the tangent is parallel to ∇F1×∇F2. Thus we expect that

Eq. (3.4) for the curvature of implicit planar curves will readily extend to implicit space curves; we shall

have more to say about this extension in Section 5.

What about curvature formulas for implicit surfaces? For implicit surfaces we want to consider both

the mean and the Gaussian curvature. Therefore we need two different expressions for the curvature

of an implicit planar curve that readily extend, but in different ways, to implicit surfaces. None of the

expressions in Eqs. (3.1)–(3.4) will do, since these expressions all depend on Tan(F ), and for implicit

surfaces there is no analogue of Tan(F ). For implicit surfaces, we need formulas that depend only on the

gradient and the hessian. Therefore, we must take another approach.

One device for developing new expressions for the curvature is to exploit the adjoint operator (see

Table 2).

Adopting the notation in Table 2, it is easy to verify the following identities:

Table 2

The adjoint operator ∗for constants, 2-dimensional row and column vectors,

and 2 ×2 matrices

Constants kk

∗=k

Row vectors r=(r1,r

2)r

∗=(−r2,r

1)T

Column vectors c=(c1,c

2)Tc∗=−(−c2,c

1)

Matrices M=m11 m12

m21 m22 M∗=m22 −m21

−m12 m11

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.9 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 9

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 9

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

c∗∗r∗=r∗c,

(M ∗c)∗=c∗∗M∗,

(r ∗M)∗=M∗∗r∗.

Therefore for any 2-dimensional row and column vectors r, c and any 2 ×2matrixM

r∗M∗c=(r ∗M∗c)∗=c∗∗M∗∗r.

The adjoint H∗(F ) of the hessian is given by

H∗(F ) =∂2F

∂y2−∂2F

∂y∂x

−∂2F

∂x∂y

∂2F

∂x2=Fyy −Fyx

−Fxy Fxx =−∇

Tan(F ).

Moreover, by construction, the adjoint of the gradient is the tangent and the adjoint of the tangent is the

negative of the gradient—that is,

∇∗(F ) =Tan(F )T,

Tan∗(F ) =−∇(F )T.

Therefore, applying the adjoint operator to the curvature formula

k=−Tan(F ) ∗H(F)∗Tan(F )T

|∇F|3

generates the following adjoint hessian formula for the curvature of an implicit planar curve:

Adjoint hessian formula

k=−∇F∗H∗(F ) ∗∇FT

|∇F|3=−(FxFy)∗Fyy −Fyx

−Fxy Fxx ∗Fx

Fy

(F 2

x+F2

y)3/2.(3.5)

Again it is easy to verify directly that the right hand side of Eq. (3.5) agrees with the right hand side

of Eq. (3.1), so Eq. (3.5) is indeed yet another valid expression for the curvature of an implicit planar

curve. Moreover, this expression in terms of the gradient and the adjoint of the hessian readily extends to

implicit surfaces, so we can expect this adjoint hessian formula to represent the curvature of an implicit

surface. We shall return to this topic again in Section 4.

The adjoint hessian formula may extend to one of the two curvatures—mean or Gaussian—for an

implicit surface, but we need still another equivalent curvature expression if we hope to represent the

other curvature for implicit surfaces. Also we might like to work directly with the hessian rather than

with the adjoint of the hessian. Fortunately there is another equivalent formulation for the curvature of

an implicit planar curve that uses only the gradient and the hessian.

To eliminate H∗(F ) from Eq. (3.5), simply observe that

H(F)+H∗(F ) =TraceH(F)

I,

where Iis the identity matrix. Now substituting for H∗(F ) in Eq. (3.5) leads to the following expression

for the curvature:

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.10 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 10

10 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Hessian formula

k=∇F∗H(F)∗∇FT−|∇F|2Trace(H (F ))

|∇F|3.(3.6)

We close this section with two additional alternative expressions for the curvature of an implicit planar

curve that will show up again when we study curvature for implicit surfaces. As usual the validity of these

formulas can be veriﬁed by direct computation of the right hand sides.

Determinant computation

k=DetH(F)

∇F∇FT

0

|∇F|3.(3.7)

Divergence formula

k=−∇•N(F)=−∇•∇F

|∇F|.(3.8)

The divergence of the unit normal is often taken as the deﬁnition of the curvature for an implicit

planar curve. We have not used this deﬁnition here because we wanted to develop curvature formulas

for implicit curves directly from known curvature formulas for parametric curves. Also, although of

theoretical interest, this divergence formula is less practical as a computational tool than many of the

other expressions for the curvature developed in this section.

4. Curvature formulas for implicit surfaces

We expect curvature formulas for implicit surfaces F(x,y,z) =0, just like curvature formulas for

implicit curves F(x,y) =0, to depend only on the gradient ∇F, the hessian H(F), and the adjoint of

the hessian H∗(F ). As with curves, we shall adopt the following notation for surfaces:

∇F=(∂F

∂x

∂F

∂y

∂F

∂z )=(FxFyFz),

H(F)=

∂2F

∂x2∂2F

∂x∂y

∂2F

∂x∂z

∂2F

∂y∂x

∂2F

∂y2∂2F

∂y∂z

∂2F

∂z∂x

∂2F

∂z∂y

∂2F

∂z2

=Fxx Fxy Fxz

Fyx Fyy Fyz

Fzx Fzy Fzz =∇(∇F),

H∗(F ) =Cofactor(Fxx )Cofactor(Fxy )Cofactor(Fxz)

Cofactor(Fyx)Cofactor(Fyy )Cofactor(Fyz)

Cofactor(Fzx )Cofactor(Fzy )Cofactor(Fzz)

=FyyFzz −FyzFzy FyzFzx −FyxFzz FyxFzy −Fyy Fzx

FxzFzy −Fxy Fzz FxxFzz −FxzFzx FxyFzx −FxxFzy

FxyFyz −FxzFyy FyxFxz −Fxx Fyz Fxx Fyy −Fxy Fyx .

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.11 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 11

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 11

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Here again ∇applied to a row vector means take the gradient of each component and write these com-

ponent gradients in a matrix as consecutive column vectors. As with curves, the gradient ∇Fis parallel

to the normal of the surface F(x,y, z) =0. Therefore, the unit normal is given by

N(F) =∇F

|∇F|=(FxFyFz)

F2

x+F2

y+F2

z

.

With this notation in hand, we are now ready to develop curvature formulas for implicit surfaces.

The following curvature formulas for implicit surfaces appear in (Spivak, 1975, vol. 3, p. 204) (Spivak

gives only the expressions on the far right); see also (Knoblauch, 1913, pp. 89–94):

Gaussian curvature

KG=∇F∗H∗(F ) ∗∇FT

|∇F|4=−H(F) ∇FT

∇F0

|∇F|4.(4.1)

Mean curvature

KM=∇F∗H(F)∗∇FT−|∇F|2Trace(H )

2|∇F|3=−coeff(λ) inH(F)−λI ∇FT

∇F0

2|∇F|3.(4.2)

Notice that Eq. (4.1) for Gaussian curvature is an extension to surfaces of the adjoint hessian formula

(Eq. (3.5)) for the curvature of implicit planar curves. The normalizing factor |∇F|4that appears in the

denominator insures that cF(x,y,z)=0 has the same curvature as F (x, y,z) =0. In addition, Eq. (4.2)

for the mean curvature is an extension to implicit surfaces of the hessian formula (Eq. (3.6)) for the cur-

vature of implicit planar curves. The factor of two in the denominator occurs because the mean curvature

is the average of the two principal curvatures.

The principal curvatures k1,k

2can be computed from the mean and Gaussian curvatures KM,KGby

the standard formula

k1,k

2=KM±K2

M−KG.(4.3)

One can also verify that

k1,k

2=−rootsH(F)−λI ∇FT

∇F0

|∇F|(4.4)

by using Eqs. (4.1) and (4.2) to demonstrate that Eq. (4.4) is equivalent to Eq. (4.3).

We shall now derive Eqs. (4.1) and (4.2) for the Gaussian and mean curvatures of implicit surfaces

from the corresponding curvature formulas for parametric surfaces.

Theorem 4.1.

KG=∇F∗H∗(F ) ∗∇F

|∇F|4.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.12 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 12

12 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Proof. We shall only consider regular points on the implicit surface—points where ∇F= 0—since the

Gaussian curvature in not deﬁned at points on the surface that are not regular. By the implicit function

theorem, if ∇F= 0, then the surface has a local parametrization P(s,t).Let

N=N(s,t)=Ps×Pt

|Ps×Pt|;

then Nis the unit normal to the surface. Therefore by Corollary 2.2

KG=(Ps×Pt)•(Ns×Nt)

|Ps×Pt|2.

We shall now show how to transform the right hand side of this equation into the right hand side of

Eq. (4.1). Since the unit normal to the surface is also given by the formula

N=∇F

|∇F|,

it follows by the chain rule that if u=s,t, then

Nu=Pu∗H(F)

|∇F|+term parallel to ∇F.

Hence

Ns×Nt=(Ps∗H(F)) ×(Ps∗H(F))

|∇F|2+terms perpendicular to ∇F.

But for all 3-dimensional vectors a,b and all 3 ×3 matrices M,

(a ∗M) ×(b ∗M) =(a ×b) ∗M∗,

where M∗denotes the adjoint of M. Therefore

Ns×Nt=(Ps×Pt)∗H∗(F )

|∇F|2+terms perpendicular to ∇F.

Now since ∇Fand Ps×Ptare both parallel to the surface normal, there is a constant λsuch that

Ps×Pt=λ∇F.

Thus,

(Ps×Pt)•(Ns×Nt)=λ2∇F∗H∗(F ) ∗∇FT

|∇F|2,

|Ps×Pt|2=λ2|∇F|2.

Therefore

KG=(Ps×Pt)•(Ns×Nt)

|Ps×Pt|2=∇F∗H∗(F ) ∗∇FT

|∇F|4.2

Corollary 4.2.

KG=−H(F) ∇FT

∇F0

|∇F|4.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.13 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 13

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 13

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Proof. This corollary follows by expanding the right-hand side and verifying that the result gives the

same expression as the expansion of the right-hand side in the curvature formula in Theorem 4.1. 2

Theorem 4.3.

KM=∇F∗H(F)∗∇FT−|∇F|2Trace(H )

2|∇F|3.

Proof. Again we shall only consider regular points on the implicit surface—points where ∇F= 0—

since the mean curvature in not deﬁned at points on the surface that are not regular. By the implicit

function theorem, if ∇F= 0, then the surface has a local parametrization P(s,t).Let

N=N(s,t)=Ps×Pt

|Ps×Pt|;

then Nis the unit normal to the surface. Therefore by Corollary 2.4

KM=(Ps×Pt)•((Pt×Ns)−(Ps×Nt))

2|Ps×Pt|2.

We shall now show how to transform the right-hand side of this equation into the right-hand side of

Eq. (4.2). Since the unit normal to the surface is also given by the formula

N=∇F

|∇F|,

it follows by the chain rule exactly as in the proof of Theorem 4.1 that if u=s,t , then

Nu=Pu∗H(F)

|∇F|+term parallel to ∇F.

Hence

Pt×Ns=Pt×(Ps∗H(F))

|∇F|+terms perpendicular to ∇F,

Ps×Nt=Ps×(Pt∗H(F))

|∇F|+terms perpendicular to ∇F,

so

Pt×Ns−Ps×Nt=Pt×(Ps∗H(F)) −Ps×(Pt∗H(F))

|∇F|+terms perpendicular to ∇F.

But for all 3-dimensional vectors a,b and all symmetric 3 ×3 matrices M,

b×(a ∗M) −a×(b ∗M) =(a ×b) ∗M−Trace(M)(a ×b).

(Since this identity is not well known, and is perhaps even new, we veriﬁed this identity in Mathematica

using symbolic computation.) Therefore

Pt×Ns−Ps×Nt=(Ps×Pt)∗H(F)−Trace(H (F ))(Ps×Pt)

|∇F|+terms perpendicular to ∇F.

Now since ∇Fand Ps×Ptare both parallel to the surface normal, there is a constant λsuch that

Ps×Pt=λ∇F.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.14 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 14

14 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Thus

(Ps×Pt)•(Pt×Ns)−(Ps×Nt)=λ2∇F∗H(F)∗∇FT−λ2Trace(H (F ))|∇F|2

|∇F|,

|Ps×Pt|2=λ2|∇F|2.

Therefore

KM=(Ps×Pt)•((Ps×Nt)−(Pt×Ns))

2|Ps×Pt|2=∇F∗H(F)∗∇FT−|∇F|2Trace(H )

2|∇F|3.2

Corollary 4.4.

KM=−coeff(λ) inH(F)−λI ∇FT

∇F0

2|∇F|3.

Proof. This corollary follows by expanding the right hand side and verifying that the result gives the

same expression as the expansion of the right hand side in the curvature formula in Theorem 4.3. 2

Corollary 4.5 (Divergence formula for mean curvature).

KM=−∇•N(F)=−∇•∇F

|∇F|.

Proof. Again this corollary follows by expanding the right hand side and verifying that the result gives

the same expression as the expansion of the right hand side in the curvature formula in Theorem 4.3. 2

The divergence of the unit normal is often taken as the deﬁnition of the mean curvature for implicit

surfaces. This divergence formula mimics the corresponding divergence formula for the curvature of

an implicit curve. We have not used this deﬁnition here because, just as in the curve case, we wanted

to develop the mean curvature formula for implicit surfaces directly from the well-known formula for

the mean curvature of parametric surfaces. Moreover, although of theoretical interest, this divergence

formula is less practical as a computational tool than Eq. (4.2).

Before computing some examples, let us pause here for a moment and comment upon the invariance

of these curvature formulas. The surface F(x,y,z) =0 is identical to the surface cF(x,y,z) =0 for any

constant c= 0. Therefore, naively, we would expect that the curvature of F(x,y,z) =0 should be the

same as the curvature of cF(x,y,z)=0. For implicit curves, we saw that this invariance does not quite

hold if c<0. What about curvature invariance for implicit surfaces?

For Gaussian curvature, this invariance does indeed hold. If c= 0, then replacing Fby cF on the

right hand side of Eq. (4.1) introduces a factor of c4in both the numerator and the denominator, so the

Gaussian curvature KGis unchanged.

The mean curvature, however, behaves more like the curvature of implicit planar curves. If c>0, then

replacing Fby cF on the right hand side of Eq. (4.2) introduces a factor of c3in both the numerator

and the denominator, so the mean curvature KMis unchanged. However, replacing Fby −Fon the

right hand side of Eq. (4.2) changes the sign of the numerator, but not the sign of the denominator, thus

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.15 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 15

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 15

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

changing the sign of KM. Of course, replacing Fby −Falso changes the direction of the unit normal

N(F) =∇F/|∇F|. Therefore the mean curvature vector,

KM=KMN(F) =KM∇F/|∇F|

is invariant, but the sign of the mean curvature KMdepends on the choice of the direction of the unit nor-

mal, which, in turn, depends on the sign of F. This sign dependence is exactly the same sign dependence

we observed in the curvature formula for implicit planar curves. In this way the mean curvature, more

than the Gaussian curvature, resembles the curvature of implicit planar curves. The divergence formula

is yet another way that the mean curvature more closely mimics the behavior of the curvature of implicit

planar curves.

Example 4.1 (Spheres).We can check our curvature formulas on the spheres

F(x,y, z) ≡x2+y2+z2−R2=0.

To compute the mean and Gaussian curvatures, we need

∇F=(FxFyFz)=(2x2y2z),

H(F)=Fxx Fxy Fxz

Fyx Fyy Fyz

Fzx Fzy Fzz =200

020

002

,

H∗(F ) =Cofactor(Fxx )Cofactor(Fxy )Cofactor(Fxz)

Cofactor(Fyx)Cofactor(Fyy )Cofactor(Fyz)

Cofactor(Fzx )Cofactor(Fzy )Cofactor(Fzz)=400

040

004

,

TraceH(F)

=6.

Gaussian curvature:

KG=∇F∗H∗(F ) ∗∇FT

|∇F|4,

KG=

(2x2y2z)400

040

0042x

2y

2z

(4x2+4y2+4z2)2=16(x2+y2+z2)

16(x2+y2+z2)2=1

R2.

Mean curvature:

KM=∇F∗H(F)∗∇FT−|∇F|2Trace(H )

2|∇F|3,

KM=

(2x2y2z)200

020

0022x

2y

2z−6(4x2+4y2+4z2)

2(4x2+4y2+4z2)3/2=8R2−24R2

2(8R2)=1

R.

Notice that the mean curvature here is negative, but notice too that ∇F=(2x,2y,2z) is the outward

pointing normal. Thus, as one would expect, the mean curvature vector

KM=KM∇F/|∇F|points into

the sphere and has magnitude |KM|=1/R.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.16 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 16

16 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Example 4.2 (Explicit functions).Surfaces deﬁned by explicit functions are special cases both of para-

metric and of implicit surfaces. Therefore, we can check our curvature formulas on the explicitly deﬁned

surfaces:

F(x,y, z) ≡z−f (x, y,z) =0.

To compute the mean and Gaussian curvatures, we ﬁrst calculate

∇F=(fxfy1),

H(F)=fxx fxy 0

fyx fyy 0

000

,

H∗(F ) =00 0

00 0

00Det(H (F )) ,

TraceH(F)

=TraceH(F)

.

Gaussian curvature:

KG=∇F∗H∗(F ) ∗∇FT

|∇F|4=Det(H (F ))

(|∇F|2+1)2.

Mean curvature:

KM=∇F∗H(F)∗∇FT−|∇F|2Trace(H )

2|∇F|3,

KM=∇f∗H(f)∗∇fT−(|∇f|2+1)Trace(H (f ))

2(|∇f|2+1)3/2.

The reader can easily verify that we get exactly these same expressions for the mean and Gaussian

curvatures using the classical formulas presented in Section 2.2 for the mean and Gaussian curvature of

a parametric surface.

Our formulas for Gaussian and mean curvature readily extend to implicit hypersurfaces in higher

dimensions. If F(x

1,...,x

n+1)=0 represents an implicit n-dimensional hypersurface lying in an (n +1)-

dimensional space, then we have the following general formulas for the Gaussian and mean curvatures

(Dombrowski, 1968, pp. 167, 168; Gromoll et al., 1975, pp. 1091-111):

(KG)n(F ) =(−1)n∇F∗H∗(F ) ∗∇FT

|∇F|n+2,

(KM)n(F ) =∇F∗H(F)∗∇FT−|∇F|2Trace(H (F ))

n|∇F|3.

Notice that the only essential differences between mean and Gaussian curvature formulas for surfaces in

3-dimensions and mean and Gaussian curvature formulas for hypersurfaces in (n +1)-dimensions are

the normalizations in the denominators.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.17 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 17

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 17

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Example 4.3 (Hyperspheres).We can check these curvature formulas on the hyperspheres Snin Rn+1

Sn:x2

1+···+x2

n+1−R2=0.

Here we easily compute

H(Sn)=Diag(2),

H∗(Sn)=Diag(2n),

TraceH(Sn)=2(n +1).

Therefore

(KG)n(Sn)=(−1)n2n+2R2

(2R)n+2=(−1)n

Rn,

(KM)n(Sn)=8R2−(8n+8)R2

n(2R)3=−1

R.

5. Curvature and torsion formulas for implicit space curves and beyond

Implicit space curves are deﬁned by the intersection of two implicit surfaces:

F (x,y, z) =0∩G(x, y,z) =0.

Since the gradients ∇Fand ∇Gare normal to their respective surfaces, their cross product is tangent to

the intersection curve. As with planar curves, we shall adopt the following notation for space curves:

Curve tangent:

Tan(F , G) =∇F×∇G. (5.1)

Unit tangent:

T(F,G)=∇F×∇G

|∇F×∇G|.(5.2)

5.1. Curvature for implicit space curves

For implicit planar curves, we showed in Section 3 (Eq. (3.4)) that the curvature is given by

k=|(Tan(F ) ∗∇(Tan(F ))) ×Tan(F )|

|Tan(F )|3.(3.4)

Since we derived this curvature formula from the Frenet equations, this same curvature formula is also

valid for space curves. Substituting Eq. (5.1) for Tan(F ), we arrive at the following curvature formula

for implicit space curves:

k=|((∇F×∇G) ∗∇(∇F×∇G)) ×(∇F×∇G)|

|∇F×∇G|3.(5.3)

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.18 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 18

18 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Example 5.1 (Spheres ∩cylinders).We can check this curvature formula on circles generated by spheres

intersecting cylinders tangentially from the inside. Consider the following surfaces:

Spheres Cylinders

F (x,y, z) ≡x2+y2+z2−R2=0, G(x,y,z)≡x2+y2−R2=0,

∇F=(2x2y2z), ∇G=(2x2y0).

The tangents to the intersection curve are given by

Tan(F , G) =∇F×∇G=(−4yz 4xz 0).

Hence

|∇F×∇G|3=16z2(x2+y2)3/2=64z3R3,

∇(∇F×∇G) =04z0

−4z00

−4y4x0,

(∇F×∇G) ∗∇(∇F×∇G) =(−4yz 4xz 0)∗04z0

−4z00

−4y4x0=(−16xz2−16yz20),

(∇F×∇G) ∗∇(∇F×∇G)×(∇F×∇G)=(−16xz2−16yz20)×(−4yz 4xz 0)

=00−64z3(x2+y2)=64z3R2.

Therefore, as expected,

k=|((∇F×∇G) ∗∇(∇F×∇G)) ×(∇F×∇G)|

|∇F×∇G|3=64z3R2

64z3R3=1

R.

We would like to extend our curvature formula—Eq. (5.3)—for implicit space curves to a curvature

formula for implicit curves in (n +1)-dimensions—that is, to curves generated by the intersection of n

implicit equations:

F1(x1,...,x

n+1)=0∩···∩Fn(x1,...,x

n+1).

However, in order to generalize Eq. (5.3), we ﬁrst need to generalize the cross product from 3-dimensions

to (n +1)-dimensions. Actually there are two ways to extend the cross product from 3-dimensions to

(n +1)-dimensions and we shall require both techniques.

The ﬁrst cross product in Eq. (5.3) is used to compute the tangent to the intersection curve. Recall that

the gradients

∇F1=(F1x1,...,F

1xn+1), ..., ∇Fn=(Fnx1,...,F

nxn+1)

are normal to their respective hypersurfaces. Therefore the tangent to the intersection curve is a vector

perpendicular to each of these gradient vectors.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.19 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 19

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 19

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

The extension of the cross product to (n +1)-dimensions that generates a vector perpendicular to a

collection of nvectors is given by a determinant. Let e=(e1,...,e

n+1)be the canonical basis for Rn+1,

where eiis the vector that has a one in the ith position and a zero everywhere else. Then

Tan(F1,...,F

n)=Det

e

∇F1

.

.

.

∇Fn

=Det

e1... e

n+1

F1x1... F

1xn+1

.

.

..

.

..

.

.

Fnx1... F

nxn+1

.

This expression for Tan(F1,...,F

n)is perpendicular to ∇F1,...,∇Fnbecause taking the dot product of

Tan(F1,...,,F

n)with ∇Fiis equivalent to substituting ∇Fifor e, and the determinant of a matrix with

two identical rows is identically zero.

The other cross product in Eq. (5.3)—corresponding to the cross product in Eq. (3.1)—is the cross

product of two, rather than n, vectors. To generalize this cross product from vectors in 3-dimensions to

vectors in (n +1)-dimensions, we introduce the wedge product (Northcott, 1984). The wedge product of

two vectors in an (n +1)-dimensional space spanned by e1,...,e

n+1is a vector in a space of dimension

n+1

2spanned by a new collection of vectors denoted by {ei∧ej},wherei<j.Letu=u1e1+ ···+

un+1en+1and v=v1e1+···+vn+1en+1. Then we deﬁne

u∧v=(u1e1+···+un+1en+1)∧(v1e1+···+vn+1en+1)=

i<j

uiuj

vivj

(ei∧ej).

Notice that the wedge product, just like the cross product, is anti-commutative and distributes through

addition.

Actually to extend Eq. (5.3), we need only compute the magnitude of the wedge product. The magni-

tude of the wedge product is given by the formula

|u∧v|2=(u1e1+···+un+1en+1)∧(v1e1+··· +vn+1en+1)

2=

i<j

uiuj

vivj

2

.

Notice that

i<j

uiuj

vivj

2

=

i

u2

i

j

v2

j−

k

ukvk2

.

Therefore, much like the cross product, wedge product satisﬁes the identity

|u∧v|2=|u|2|v|2−(u •v)2.

Using this identity, we can avoid altogether the computation of u∧v. Thus in the curvature formula we

present below, the wedge product is used only as a device to compress the notation.

The curvature formula for a curve deﬁned by the intersection of nimplicit hypersurfaces F1(x1,...,

xn+1)=0,...,F

n(x1,...,x

n+1)=0 now becomes

k=|(Tan(F1,...,F

n)∗∇(Tan(F1,...,F

n))) ∧Tan(F1,...,F

n)|

|Tan(F1,...,F

n)|3,(5.4)

where ∇(Tan(F1,...,F

n)) is interpreted in the usual fashion to mean that we take the gradient of each

component of Tan(F1,...,F

n)and write these gradients in a matrix as consecutive column vectors.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.20 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 20

20 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Example 5.2 (3-sphere ∩2-sphere ∩cylinder).We can check this curvature formula on circles generated

by 3-spheres intersecting 2-spheres intersecting cylinders tangentially. Consider the following surfaces:

3-spheres:

F1(x,y,z,w)≡x2+y2+z2+w2−R2=0,

∇F1=(2x2y2z2w).

2-spheres:

F2(x,y,z,w)≡x2+y2+z2−R2=0,

∇F2=(2x2y2z0).

Cylinders:

F3(x,y,z,w)≡x2+y2−R2=0,

∇F3=(2x2y00).

The tangents to the intersection curve are given by

Tan(F1,F

2,F

3)=Det

e

∇F1

∇F2

∇F3

=

e1e2e3e4

2x2y2z2w

2x2y2z0

2x2y00

=−(8yzw)e1+(8xzw)e2.

Hence

Tan(F1,F

2,F

3)

3=512z3w3R3,

∇Tan(F1,F

2,F

3)=

08zw 00

−8zw 000

−8yw 8xw 00

−8yz 8xz 00

,

Tan(F1,F

2,F

3)∗∇

Tan(F1,F

2,F

3)=(−8yzw 8xzw 00)∗

08zw 00

−8zw 000

−8yw 8xw 00

−8yz 8xz 00

=−(64z2w2x)e1−(64z2w2y)e2,

Tan(F1,F

2,F

3)∗∇

Tan(F1,F

2,F

3)∧Tan(F1,F

2,F

3)

=−(64z2w2x)e1−(64z2w2y)e2∧−(8yzw)e1+(8xzw)e2

=−(512z3w3R2)(e1∧e2).

Therefore, as expected,

k=|(Tan(F1,F

2,F

3)∗∇(Tan(F1,F

2,F

3))) ∧Tan(F1,F

2,F

3)|

|Tan(F1,F

2,F

3)|3=512z3w3R2

512z3w3R3=1

R.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.21 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 21

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 21

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

5.2. Torsion for implicit space curves

To develop a closed form expression for the torsion of an implicit space curve, we begin, as usual, with

a classical formula for the torsion of a parametric curve. In Section 2.1, Table 1 provides four formulas

for the torsion of a space curve in terms of the unit tangent, the unit normal, and their derivatives. For

implicit space curves, however, we know only the unit tangent (Eq. (5.2)); therefore only the last formula

in Table 1 is readily applied. Thus starting with

τ=DetTdT

ds

d2T

ds2

k2,

T(F,G)=∇F×∇G

|∇F×∇G|,

we shall now derive a closed expression for the torsion of an implicit space curve.

Theorem 5.1 (Torsion of an implicit space curve).

τ=Det(T ∗T∗∗ T∗∗∗)

|T∗×T∗∗|2,(5.5)

where

T∗=∇F×∇G,

T∗∗ =T∗∗∇T∗=(∇F×∇G) ∗∇(∇F×∇G),

T∗∗∗ =T∗∗∇(∇T∗)∗T∗T+T∗∗∇T∗∗∇T∗

=(∇F×∇G) ∗∇

∇(∇F×∇G)∗(∇F×∇G)T

+(∇F×∇G) ∗∇(∇F×∇G) ∗∇(∇F×∇G).

Here ∇applied to a matrix such as ∇T∗means apply ∇to each column vector of the matrix to generate

a list of three consecutive matrices.

Proof. We start with the formula

τ=DetTdT

ds

d2T

ds2

k2.

To compute the determinant in the numerator, observe that

T=T∗

|T∗|.

Moreover,by the chain rule,

dT∗

ds=T∗∇T∗=T∗∗∇T∗

|T∗|.

Therefore, by the quotient rule,

dT

ds=T∗∗∇T∗

|T∗|2−d|T∗|

dsT∗

|T∗|2=T∗∗

|T∗|2+term parallel to T∗.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.22 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 22

22 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Differentiating one more time by the chain rule and the quotient rule, we ﬁnd that

d2T

ds2=T∗∗∇(∇T∗)∗T∗T

|T∗|3+T∗∗∇T∗∗∇T∗

|T∗|3

+terms parallel to T∗∗∇T∗

|T∗|+terms parallel to T∗

=T∗∗∗

|T∗|3+terms parallel to T∗∗∇T∗

|T∗|+terms parallel to T∗.

Therefore

τ=DetTdT

ds

d2T

ds2

k2=Det(T ∗T∗∗ T∗∗)

k2|T∗|6.

But by Eq. (5.3),

k2=|((∇F×∇G) ∗∇(∇F×∇G)) ×(∇F×∇G)|2

|∇F×∇G|6=|T∗∗ ×T∗|2

|T∗|6.

Hence

τ=Det(T ∗T∗∗ T∗∗∗)

|T∗×T∗∗|2.2

Example 5.3 (Explicit functions of one variable).Space curves deﬁned by the intersection of explicit

functions of a single variable are special cases of both parametric and implicit curves. Therefore, we can

check our torsion formula on the intersection of two explicitly deﬁned surfaces:

Equations Gradients

F (x,y, z) ≡y−f(x)=0,∇F=(f 10),

G(x,y, z) ≡z−g(x) =0,∇G=(g01).

Now we have the following matrices:

T∗=∇F×∇G=(1−f−g),

∇T∗=0−f −g

00 0

00 0

,

∇(∇T∗)=000

000

000

−f 00

000

000

−g 00

000

000

,

∇T∗∗∇T∗=0.

To compute the numerator of the torsion, observe that

T∗∗ =T∗∗∇T∗=(1−f−g)∗0−f −g

00 0

00 0

=(0−f g),

T∗∗∗ =T∗∗∇(∇T∗)∗T∗T

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.23 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 23

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 23

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

=(1−f−g)∗000

000

000

−f 00

000

000

−g 00

000

000

∗1

−f

−g

=(0−f −g).

Hence

Det(T ∗T∗∗ T∗∗∗)=Det 10 0

−f−f −f

−g−g −g =fg −f g.

Similarly, for the denominator we have

|T∗×T∗∗|2=(1−f−g)×(0−f −g)

2=|fg−fg g −f|2

=(f g−fg )2+(g )2+(f )2.

Therefore

τ=Det(T ∗T∗∗ T∗∗∗)

|T∗×T∗∗|=f g −fg

(f g−fg )2+(g )2+(f )2.

The reader can easily verify that in this case we get exactly the same expression for the torsion using the

classical equation given in Section 2.1 for the torsion of a parametric curve:

τ=Det(P P P)

|P×P|2.

6. Summary

Here we collect in one location for easy reference all of our curvature formulas for implicit curves and

surfaces.

6.1. Curvature formulas for implicit planar curves

Notation

Implicit curve: F(x,y) =0.

Normal: ∇F=(Fx,F

y).

Tangent: Tan(F ) =k×∇F=(−Fy,F

x).

Hessian:

H(F)=Fxx Fxy

Fyx Fyy =∇(∇F).

Adjoint of the hessian:

H∗(F ) =Fyy −Fyx

−Fxy Fxx =−∇

Tan(F ).

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.24 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 24

24 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

Curvature formulas

k=−Tan(F ) ∗H(F)∗Tan(F )T

|∇F|3,k=Tan(F ) ∗∇(Tan(F )) ∗∇FT

|∇F|3,

k=Det((Tan(F ) ∗H(F))

T∇FT)

|∇F|3,k=Det((Tan(F ) ∗∇(Tan(F )))T(Tan(F ))T)

|Tan(F )|3,

k=−∇F∗H∗(F ) ∗∇FT

|∇F|3,k=∇F∗H(F)∗∇FT−|∇F|2Trace(H (F ))

|∇F|3,

k=H(F) ∇F

∇F0

|∇F|3,k=−∇•∇F

|∇F|.

6.2. Curvature formulas in co-dimension 1

Notation

Implicit hypersurface: F(x

1,...,x

n+1)=0.

Gradient: ∇F=(Fx1,...,F

xn+1).

Hessian:

H(F)=

Fx1x1... F

x1xn+1

.

.

.....

.

.

Fxn+1x1... F

xn+1xn+1

=∇(∇F).

Adjoint of the hessian:

H∗(F ) =

Cofactor(Fx1x1) ... Cofactor(Fx1xn+1)

.

.

.....

.

.

Cofactor(Fxn+1x1) ... Cofactor(Fxn+1xn+1)

.

Gaussian curvature

k=−∇F∗H∗(F ) ∗∇FT

|∇F|3,

KG=∇F∗H∗(F ) ∗∇FT

|∇F|4,

(KG)n(F ) =(−1)n∇F∗H∗(F ) ∗∇FT

|∇F|n+2,

(KG)n=(−1)n−1H(F) ∇FT

∇F0

|∇F|n+2.

Mean curvature

k=∇F∗H(F)∗∇FT−|∇F|2Trace(H (F ))

|∇F|3,

KM=∇F∗H(F)∗∇FT−|∇F|2Trace(H (F ))

2|∇F|3,

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.25 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 25

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 25

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

(KM)n(F ) =∇F∗H(F)∗∇FT−|∇F|2Trace(H (F ))

n|∇F|3,

(KM)n=(−1)n−1coeff(λn−1)inH(F)−λI ∇FT

∇F0

n|∇F|3,

(KM)n=−∇•∇F

|∇F|.

6.3. Curvature and torsion formulas for implicit space curves

Notation

Implicit space curve: {F(x,y, z) =0}∩{G(x, y,z) =0}.

Curve tangent: T∗=∇F×∇G.

Additional notation:

•T∗∗ =T∗∗∇T∗=(∇F×∇G) ∗∇(∇F×∇G)

•T∗∗∗ =T∗∗∇(∇T∗)∗T∗T+T∗∗∇T∗∗∇T∗

=(∇F×∇G) ∗∇(∇(∇F×∇G)) ∗(∇F×∇G)T

+(∇F×∇G) ∗∇(∇F×∇G) ∗∇(∇F×∇G).

Curvature and torsion formulas

Parametric curves:

k=|P×P|

|P|3,τ=Det(P P P)

|P×P|2.

Implicit curves:

k=|T∗×T∗∗|

|T∗|3,τ=Det(T ∗T∗∗ T∗∗∗)

|T∗×T∗∗|2.

6.4. Curvature formulas for implicit curves in (N +1)-dimensions

Notation

Implicit curve: {F1(x1,...,x

n+1)=0}∩···∩{Fn(x1,...,x

n+1)=0}.

Gradients of scalars: ∇F1=(F1x1,...,F

1xn+1),...,∇Fn=(Fnx1,...,F

nxn+1).

Gradients of vectors: ∇(F1,...,F

n)=((∇F1)T,...,(∇Fn)T).

Curvature formulas

Curves in 2-dimensions:

k=Det((Tan(F ) ∗∇(Tan(F )))T(Tan(F ))T)

|Tan(F )|3,

Tan(F ) =(−Fy,F

x).

Curves in 3-dimensions:

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.26 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 26

26 R. Goldman / Computer Aided Geometric Design ••• (••••)•••–•••

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

k=|(Tan(F , G) ∗∇(Tan(F , G))) ×Tan(F , G)|

|Tan(F , G)|3,

Tan(F , G) =∇F×∇G.

Curves in (n +1)-dimensions:

k=|(Tan(F1,...,F

n)∗∇(Tan(F1,...,F

n))) ∧Tan(F1,...,F

n)|

|Tan(F1,...,F

n)|3,

Tan(F1,...,F

n)=DeteT(∇F1)T... (∇Fn)T,

|u∧v|2=|u|2|v|2−(u •v)2.

7. Open questions

Although we have presented many elegant curvature formulas for implicit curves and surfaces, there

still remains some work to be done. We close with a few open problems for future research.

Problem 1. Derive closed formulas for higher order curvatures for implicit curves in (n +1)-dimensions.

Here we have derived closed formulas only for the curvature in (n +1)-dimensions and for the torsion in

3-dimensions. Can elegant closed formulas be derived for the higher order analogues of the torsion for

implicit curves in (n +1)-dimensions?

Problem 2. Develop curvature formulas for curves lying on implicit surfaces.Herewehavedeveloped

curvature formulas only for curves lying in n-dimensional space. What can be said about the curvature

for curves lying on implicit surfaces?

Problem 3. Compute curvature formulas for implicit surfaces in (n +1)-dimensions with co-dimension

>1. Apparently at least some of these formulas are known in the German literature (Dombrowski, 1968,

p. 164), but I have been unable to derive these expressions or to ﬁnd these formulas in an easily accessible

form.

Problem 4. Investigate numerical efﬁciency and robustness. We have provided many different equivalent

formulations for the curvature of an implicit planar curve. In theory, all of these expression are mathe-

matically equivalent, but, in practice, some of these expressions may be more computationally efﬁcient

or numerically robust for performing actual calculations. We have not considered these issues here, but

these questions should be looked at in the future.

Acknowledgement

I would like to thank the participants of the Erbach Workshop on Differential Geometry and Geometric

Modeling, who provided me with several pertinent references both in English and in German and who

encouraged me to complete work on this paper.

ARTICLE IN PRESS

UNCORRECTED PROOF

S0167-8396(05)00073-7/FLA AID:949 Vol.•••(•••) [DTD5] P.27 (1-27)

COMAID:m2 v 1.39 Prn:1/07/2005; 12:56 cagd949 by:Alicija p. 27

R. Goldman / Computer Aided Geometric Design ••• (••••)•••–••• 27

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

10 10

11 11

12 12

13 13

14 14

15 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 23

24 24

25 25

26 26

27 27

28 28

29 29

30 30

31 31

32 32

33 33

34 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 44

References

Bajaj, C., Kim, M.-S., 1991. Convex hulls of objects bounded by algebraic curves. Algorithmica 6, 533–553.

Belyaev, A., Pasko, A., Kunii, T. 1998. Ridges and ravines on implicit surfaces. In: Proceedings of Computer Graphics Interna-

tional ’98, Hanover, pp. 530–535.

Blinn, J., 1997. The algebraic properties of second-order surfaces. In: Bloomenthal, J. (Ed.), Introduction to Implicit Surfaces.

Morgan Kaufmann, San Francisco, CA.

Dombrowski, P., 1968. Krummungsgrossen gleichungsdeﬁnierter Untermannigfaltigkeiten Riemannscher Mannigfaltigkeiten.

Math. Nachr. 38, 133–180.

Farin, G., 2002. Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide, ﬁfth ed. Academic Press, San

Diego, CA.

Fulton, W., 1974. Algebraic Curves: An Introduction to Algebraic Geometry. Mathematical Lecture Notes Series.

Gromoll, D., Klingenberg, W., Meyer, W., 1975. Riemannsche Geometric im Grossen. Lecture Notes in Mathematics, vol. 55.

Springer, Berlin.

Hartmenn, E., 1999. On the curvature of curves and surfaces deﬁned by normalforms. Computer Aided Geometric Design 16,

355–376.

Hoschek, J., Lasser, D., 1993. Fundamentals of Computer Aided Geometric Design. A.K. Peters, Wellesley, MA.

Knoblauch, J., 1888. Einleitung in die Allgemeine Theorie der Krummen Flachen. Druck und Verlag von B.G. Teubner, Leipzig.

Knoblauch, J., 1913. Grundlagen der Differentialgeometrie. Druck und Verlag von B.G. Teubner, Leipzig.

Northcott, D.G., 1984. Multilinear Algebra. Cambridge University Press, Cambridge.

Osher, S., Fedkiw, R., 2003. Level Set Methods and Dynamic Implicit Surfaces. Appl. Math. Sci., vol. 153. Springer-Verlag,

New York.

Patrikalakis, N.M., Maekawa, T., 2002. Shape Interrogation for Computer Aided Design and Manufacturing. Springer-Verlag,

New York.

Sethian, J.A., 1999. Level Set Methods and Fast Marching Method, second ed. Cambridge Monogr. Appl. Comput. Math.

Cambridge University Press, Cambridge.

Spivak, M., 1975. A Comprehensive Introduction to Differential Geometry, vol. 3. Publish or Perish, Boston.

Stoker, J.J., 1969. Differential Geometry. Wiley, New York.

Struik, D.J., 1950. Lectures on Classical Differential Geometry. Addison-Wesley, Reading, MA.

Turkiyyah, G.M., Storti, D.W., Ganter, M., Chen, H., Vimawala, M., 1997. An accelerated triangulation method for computing

the skeletons of free-form solid models. Computer-Aided Design 29, 5–19.

Willmore, T.J., 1959. An Introduction to Differential Geometry. Clarendon Press, Oxford. p. 16.