You are on page 1of 28

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/222582448

Curvature formulas for implicit curves and surfaces

Article  in  Computer Aided Geometric Design · October 2005


DOI: 10.1016/j.cagd.2005.06.005 · Source: DBLP

CITATIONS READS

245 2,083

1 author:

Ronald N. Goldman
Rice University
242 PUBLICATIONS   3,598 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Research on Swarm Robotics View project

Basis functions and operators in Chebyshev spaces, operators and semigroups View project

All content following this page was uploaded by Ronald N. Goldman on 04 August 2019.

The user has requested enhancement of the downloaded file.


ARTICLE IN PRESS
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

1 1
2 2
3 Computer Aided Geometric Design ••• (••••) •••–••• 3
4 www.elsevier.com/locate/cagd 4
5 5
6 6
7 7
Curvature formulas for implicit curves and surfaces

OF
8 8
9 9
10 10
Ron Goldman
11 11
12 Department of Computer Science, Rice University, 6100 Main Street, Houston, Texas 77005-1892, USA 12

RO
13 13
14 14
15 15
16 16
Abstract
17 17
DP
18 Curvature formulas for implicit curves and surfaces are derived from the classical curvature formulas in Differ- 18
19 ential Geometry for parametric curves and surfaces. These closed formulas include curvature for implicit planar 19
20 curves, curvature and torsion for implicit space curves, and mean and Gaussian curvature for implicit surfaces. 20
21 Some extensions of these curvature formulas to higher dimensions are also provided. 21
 2005 Published by Elsevier B.V.
22 22
23 23
TE

24 24
25 25
1. Introduction
26 26
27 27
EC

28 Curvature formulas for parametrically defined curves and surfaces are well-known both in the classical 28
29 literature on Differential Geometry (Spivak, 1975; Stoker, 1969; Struik, 1950) and in the contemporary 29
30 literature on Geometric Modeling (Farin, 2002; Hoschek and Lasser, 1993). 30
31 Curvature formulas for implicitly defined curves and surfaces are more scattered and harder to lo- 31
32 cate. In the classical geometry literature, a curvature formula for implicit planar curves is presented in 32
RR

33 (Fulton, 1974); an algorithm, but no explicit formulas, for finding the curvature and torsion of implic- 33
34 itly defined space curves is provided in (Willmore, 1959). Mean and Gaussian curvature formulas for 34
35 implicit surfaces can be found in (Spivak, 1975, vol. 3), but, somewhat surprisingly, almost nowhere 35
36 else in Differential Geometry texts in the English language. German geometry papers and texts with 36
37 curvature formulas for implicit surfaces seem to be more common (Dombrowski, 1968; Gromoll et al., 37
CO

38 1975; Knoblauch, 1888, 1913), but these references remain largely inaccessible to most English speaking 38
39 researchers in Geometric Modeling. 39
40 40
41 41
42
E-mail address: rng@cs.rice.edu. 42
UN

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


44 doi:10.1016/j.cagd.2005.06.005 44
ARTICLE IN PRESS
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

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

1 Nevertheless, curvature formulas for implicitly defined curves and surfaces are important in Geomet- 1
2 ric Modeling applications, and many of these formulas do appear scattered throughout the Geometric 2
3 Modeling literature. Curvature formulas for implicit curves and surfaces in normal form appear in (Hart- 3
4 menn, 1999). A curvature formula for arbitrary implicit planar curves appears in (Bajaj and Kim, 1991; 4
5 Blinn, 1997); mean and Gaussian curvature formulas for arbitrary implicitly defined surfaces are fur- 5
6 nished by (Belyaev et al., 1998; Turkiyyah et al., 1997). To derive these curvature formulas for implicit 6
7 surfaces, (Belyaev et al., 1998) refer to (Turkiyyah et al., 1997) who in turn refer to (Spivak, 1975, 7

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

OF
8 8
9 and Gaussian curvature formulas for implicit surfaces are given in (Patrikalakis and Maekawa, 2002), but 9
10 explicit closed formulas are not provided. 10
11 Curvature formulas for implicit curves and surfaces also appear in some recent texts on level set 11
12 methods (Osher and Fedkiw, 2003; Sethian, 1999). A curvature formula for implicit planar curves is 12

RO
13 presented in both of these texts; (Osher and Fedkiw, 2003) also contains explicit formulas for the mean 13
14 and Gaussian curvature of implicit surfaces. 14
15 The purpose of this paper is to provide a service to the Geometric Modeling community by collect- 15
16 ing in one easily accessible place curvature formulas for implicitly defined curves and surfaces. In order 16
17 to better understand the relationships between curvature formulas in different dimensions and different 17
DP
18 co-dimensions, we shall develop, in each case, not just one closed formula, but several equivalent expres- 18
19 sions. We shall also provide a bridge between the parametric and implicit formulations by deriving these 19
20 curvature formulas for implicit curves and surfaces from the more commonly known curvature formulas 20
21 for parametric curves and surfaces. 21
22 In Section 2, we review the classical curvature formulas for parametric curves and surfaces. We use 22
23 these formulas in Section 3 to derive curvature formulas for implicit planar curves and in Section 4 to 23
TE

24 derive mean and Gaussian curvature formulas for implicit surfaces. Section 5 is devoted to deriving cur- 24
25 vature and torsion formulas for implicit space curves. In Section 6 we collect all our curvature formulas 25
26 for implicit curves and surfaces together in one easily accessible location. Readers interested only in the 26
27 formulas, but not their derivations, can skip directly to Section 6. We close in Section 7 with a few open 27
EC

28 questions for future research. 28


29 29
30 30
31 2. Curvature formulas for parametric curves and surfaces 31
32 32
RR

33 For planar curves, curvature has several equivalent definitions: 33


34 34
35 (i) amount of deviation of the curve from the tangent line; 35
36 (ii) rate of change of the tangent direction; 36
37 (iii) reciprocal of the radius of the osculating circle; 37
CO

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


39 39
40 For surfaces, curvature is more complicated. In analogy with curves, curvature for surfaces should 40
41 capture the deviation of the surface from the tangent plane. But, unlike planar curves, there is more than 41
42 one way to measure this deviation. The shape of the osculating paraboloid gives a rough measure of how 42
UN

43 the surface deviates locally from the tangent plane. More precise information is provided by the mean 43
44 and Gaussian curvatures. 44
ARTICLE IN PRESS
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 Gaussian curvature 1
2 2
3 (i) product of the principal curvatures; 3
4 (ii) element of area of spherical image/element of surface area. 4
5 5
6 Mean curvature 6
7 7

(iii) average of the principal curvatures;

OF
8 8
9 (iv) rate of change of surface area under small deformations in the normal direction. 9
10 10
11 From these first principles, explicit curvature formulas can be derived for parametric curves and sur- 11
12 faces. We shall review these formulas in the following two subsections. 12

RO
13 13
14 2.1. Curvature formulas for parametric curves 14
15 15
16 16
Consider a parametric curve P (s) in 3-dimensions parametrized by arc length. Let P (t) be any other
17
parametrization of P , and let P  , P  , and P  denote the first, second, and third derivatives of P with 17
DP
18 18
respect to t. The unit tangent vector of P is given by
19 19
20 dP P 20
T= =  .
21 ds |P | 21
22 22
Therefore, in 3-dimensions, the curvature
23   23
TE

 dT  |P  × P  |
k =   =
24 24
.
25 ds |P  | 25
26 26
In 2-dimensions, this curvature formula reduces to
27   27
 dT  | Det(P  P  )|
EC

k =   =
28 28
.
29 ds |P  |3 29
30 30
Torsion measures deviation from the osculating plane. We shall see shortly that the torsion
31 31
 d2 T

32 Det T dT Det(P  P  P  ) 32
RR

ds ds 2
33 τ= = . 33
k2 |P  × P  |2
34 34
35 The Frenet equations (see below) express the derivatives of the tangent (T ), normal (N ), and binormal 35
36 (T × N ) in terms of the tangent, normal, binormal, curvature and torsion. We can use the Frenet equations 36
37 to generate explicit formulas for the curvature and torsion in terms of the tangent and normal vectors and 37
CO

38 their derivatives (see Table 1). We shall make use of these explicit formulas in Sections 3 and 5, when we 38
39 develop closed formulas for the curvature and torsion of implicit curves. 39
40 40
41 2.2. Curvature formulas for parametric surfaces 41
42 42
UN

43 Let P (s, t) be a parametric surface, and let Ps and Pt denote the partial derivatives of P with respect 43
44 to s and t. (Higher order derivatives will be denoted in the usual way by repeating s and t the appropriate 44
ARTICLE IN PRESS
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

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

1 Table 1 1
2 Explicit formulas for the curvature and torsion in terms of the tangent and normal vectors and their derivatives. These formulas 2
3 follow easily from the Frenet equations 3
4 Frenet equations (Stoker, 1969) Curvature formulas Torsion formulas 4
dT = kN k = dT τ = dN
ds · N ds · (T × N )
5 5
ds
6 ×N ) 6
dN = −kT + τ (T × N )
ds k = − dN
ds · T τ = − d(Tds ·N
7 d(T ×N )  dT    7
ds = −τ N k = ds × T 
 τ = Det T N ds dN

OF
8 8
 dT d2 T

  Det T
k =  dN 
9 ds ds 2 9
ds × N if τ = 0 τ=
k2
10 10
11 11
12 number of times.) The normal vector to the surface is perpendicular to the tangent vectors Ps and Pt . 12

RO
13 Therefore, the unit normal is given by 13
14
Ps × Pt 14
15 N = N (s, t) = . 15
|Ps × Pt |
16 16
17 Mean and Gaussian curvature for a parametric surface are usually defined in terms of the first and 17
second fundamental forms of the surface. These forms are given by the following matrices (Stoker, 1969):
DP
18 18
First fundamental form:
19
  19
20 Ps • Ps Ps • Pt 20
I= ;
21 Pt • Ps Pt • Pt 21
22 22
Second fundamental form:
23     23
TE

Pss • N Pst • N Ps • Ns Ps • Nt
24 II = =− . 24
25 Pts • N Ptt • N Pt • Ns Pt • Nt 25
26 Notice that in our two matrices for the second fundamental form Pss • N = −Ps • Ns because Ps • N = 26
27 0. Differentiating Ps • N = 0 with respect to s yields Pss • N + Ps • Ns = 0. The other equalities in these 27
EC

28 matrices for the second fundamental form can be established in a similar manner. 28
29 In terms of the first and second fundamental forms, the mean and Gaussian curvatures are computed 29
30 by the expressions given below. In the formula for the mean curvature, II ∗ denotes the adjoint of II—that 30
31 is, 31
32     32
Ptt • N −Pts • N −Pt • Nt Pt • Ns
RR


33 II = = . 33
−Pst • N Pss • N Ps • Nt −Ps • Ns
34 34
35 Gaussian curvature: 35
36 Det(II) 36
37
KG = . 37
Det(I )
CO

38 38
Mean curvature:
39 39
Trace(I ∗ II ∗ )
40 KM = . 40
41 2 Det(I ) 41
42 Though these curvature formulas are the classical formulas found in most standard books on Differen- 42
UN

43 tial Geometry (Stoker, 1969), we need to massage these formulas slightly in order to use them effectively 43
44 when we study implicit surfaces. 44
ARTICLE IN PRESS
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 Lemma 2.1. 1
2 2
3 (i) Det(I ) = |Ps × Pt |2 . 3
4 (ii) Det(II) = (Ps × Pt ) • (Ns × Nt ). 4
5 5
6 Proof. (i) This result follows by expanding the determinant and invoking the vector identity: 6
7 7
(a • a)(b • b) − (a • b) = |a × b| .
2 2

OF
8 8
9 (ii) This result follows by expanding the determinant and invoking the vector identity: 9
10
(a • c)(b • d) − (a • d)(b • c) = (a × b) • (c × d). 2 10
11 11
12 Corollary 2.2. 12

RO
13 13
(Ps × Pt ) • (Ns × Nt )
14 KG = . 14
15
|Ps × Pt |2 15

16
Lemma 2.3. Trace(I ∗ II ) = (Ps × Pt ) • (Pt × Ns ) − (Ps × Pt ) • (Ps × Nt ). 16
17 17
DP
18 Proof. This result follows by computing the trace and then twice invoking the vector identity: 18
19 19
20
(a • c)(b • d) − (a • d)(b • c) = (a × b) • (c × d). 2 20
21 21
Corollary 2.4.
22 22
(Ps × Pt ) • ((Pt × Ns ) − (Ps × Nt ))
23
KM = . 23
TE

24 2|Ps × Pt |2 24
25 25
26 26
27 3. Curvature formulas for implicit planar curves 27
EC

28 28
29
Curvature is a second order effect—only the first and second derivatives appear in the curvature for- 29
30
mula for parametric curves. Therefore, for implicit planar curves F (x, y) = 0, the curvature should 30
31
depend only on the gradient ∇F and the hessian H (F ). We shall adopt the following notation: 31
 ∂F ∂F 
32 32
∇F = = (Fx Fy ),
RR

33 ∂x ∂y 33
 ∂ 2F ∂ 2F 
34   34
 ∂x 2 ∂x∂y  Fxx Fxy
35
H (F ) =  2 = = ∇(∇F ). 35
36 ∂ F ∂ 2F Fyx Fyy 36
37 ∂y∂x ∂y 2 37
CO

38 Here ∇ applied to a row vector means take the gradient of each component and write these component 38
39 gradients in a matrix as consecutive column vectors. 39
40 Since the gradient of F (x, y) is perpendicular to the level curves F (x, y) = c, the gradient ∇F is 40
41 parallel to the normal of F (x, y) = 0. Therefore we have the following formulas: 41
42 Planar implicit curves: 42
UN

43 43
44 (1) Implicit curve: F (x, y) = 0. 44
ARTICLE IN PRESS
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

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

1 (2) Normal: ∇F = (Fx , Fy ). 1


2 (3) Unit normal: 2
3
∇F (Fx , Fy ) 3
4 N (F ) = = . 4
|∇F | F2 + F2
5 x y 5
6 6
(4) Tangent: Tan(F ) = k × ∇F = (−Fy , Fx ).
7 7
(5) Unit tangent:

OF
8 8
Tan(F ) (−Fy , Fx )
9
T (F ) = = . 9
10 | Tan(F )| Fx2 + Fy2 10
11 11
12 12
Proposition 3.1 (Curvature formula for implicit planar curves).

RO
13
 F Fxy   −Fy  13
14 T (F ) ∗ H (F ) ∗ T (F )T (−Fy Fx ) ∗ Fxx yx Fyy
∗ Fx 14
k=− =− . (3.1)
15
|∇F | (Fx + Fy )
2 2 3/2 15
16 16
17 Proof. From the Frenet equations, 17
DP
18 18
dN
19 k=− • T. 19
20
ds 20
21 Hence by the chain rule, 21
 
22 ∂N dx ∂N dy 22
23
k=− + • T = −T ∗ ∇N ∗ T T . 23
∂x ds ∂y ds
TE

24 24
But by the quotient rule,
25
  25
26 ∇F |∇F |∇(∇F ) − ∇(|∇F |)T ∗ ∇F 26
∇N = ∇ = .
27 |∇F | |∇F |2 27
EC

28 28
Moreover
29 29
30 ∇(∇F ) = H (F ), 30
31 ∇F ∗ T T = ∇F • T = 0. 31
32 32
RR

33
Therefore we conclude that 33
T (F ) ∗ H (F ) ∗ T (F )T
34
k=− . 2 34
35 |∇F | 35
36 36
37
A word about invariance is in order here. The curve F (x, y) = 0 is identical to the curve cF (x, y) = 0 37
CO

38
for any constant c = 0. Therefore we would expect that the curvature of F (x, y) = 0 should be the same 38
39
as the curvature of cF (x, y) = 0. If c > 0, then replacing F by cF on the right hand side of Eq. (3.1) 39
40
introduces a factor of c3 in both the numerator and the denominator, so the curvature k is unchanged. 40
41
However, replacing F by −F on the right hand side of Eq. (3.1) changes the sign of the numerator, 41
42
but not the sign of the denominator, thus changing the sign of k. Replacing F by −F also changes the 42
UN

43
direction of the unit normal N (F ) = ∇F /|∇F |. Therefore the curvature vector, 43
44  = kN (F ) = k∇F /|∇F |
k 44
ARTICLE IN PRESS
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 is invariant, but the sign of the scalar curvature k depends on the choice of the direction of the unit normal, 1
2 which, in turn, depends on the sign of F . This sign dependence shows up in the parametric setting as 2
3 well. By the Frenet equations dT ds
= kN . The derivative dT
ds
is an invariant; the signs of k and N are not 3
4 invariants, but rather are mutually dependent. Nevertheless, we shall continue to focus on expressions for 4
5 the scalar curvature k rather than the curvature vector k,  since it is expressions for the scalar curvature 5
6 that we plan to extend to curvature formulas for implicit space curves and implicit surfaces. 6
7 7

OF
8 Example 3.1 (Circles). We can check our curvature formula on the circles 8
9 9
10 F (x, y) ≡ x 2 + y 2 − R 2 = 0. 10
11 11
By Proposition 3.1 to compute the curvature, we need to compute
12 12
 F Fxy   −Fy 

RO
13 (−Fy Fx ) ∗ Fxx yx Fyy
∗ Fx 13
14 k=− . 14
15
(Fx2 + Fy2 )3/2 15
16 Substituting for the derivatives of F , we find that 16
17     17
(−2y 2x) ∗ 20 02 ∗ −2y 8(x 2 + y 2 ) 8R 2
DP
18 1 18
k=− 2x
= − = − =− .
19 ((2x) + (2y) )
2 2 3/2 (4x + 4y )
2 2 3/2 8R 3 R 19
20 20
Notice that the curvature here is negative, but notice too that ∇F = (2x, 2y) is the outward pointing
21
normal. Thus, as one would expect, the curvature vector k  = k∇F /|∇F | points into the circle and has 21
22 22
magnitude |k| = 1/R.
23 23
TE

24 24
25
Eq. (3.1) allows us to calculate the curvature of implicit planar curves, but it is difficult to see how 25
26
this formula can be extended either to implicit space curves or to implicit surfaces. Implicit space curves 26
27
are defined by the intersection of two implicit surfaces: {F1 (x, y, z) = 0} ∩ {F2 (x, y, z) = 0}. Thus for 27
implicit space curves we have two hessians to consider: H (F1 ) and H (F2 ). How then are we to replace the
EC

28 28
29
hessian H (F ) in Eq. (3.1)? For implicit surfaces F (x, y, z) = 0, we have analogues of the gradient and 29
30
the hessian, but no analogue of the tangent vector Tan(F ), so once again it is unclear how to generalize 30
31
Eq. (3.1). To overcome these shortcomings, we shall seek alternative ways to package Eq. (3.1)—that 31
32
is, we shall seek equivalent expressions for the curvature for implicit planar curves that can be extended 32
RR

33
either to implicit space curves or to implicit surfaces. 33
34
To find new expressions for the curvature, we can proceed in the following fashion. In Table 1, we pre- 34
35
sented four formulas for the curvature in terms of the unit tangent, the unit normal, and their derivatives 35
36
with respect to arclength. Using these formulas and proceeding as in Proposition 3.1 applying the chain 36
37
rule and the quotient rule, we arrive at the following results. 37
CO

38 38
39 Alternative curvature formulas 39
40 40
41 Curvature formula—k = − dN
ds
•T 41
42  Fxx Fxy   −Fy  42
UN

43 Tan(F ) ∗ H (F ) ∗ Tan(F ) T (−Fy Fx ) ∗ Fyx Fyy ∗ Fx 43


k=− =− . (3.1)
44 |∇F |3 (Fx2 + Fy2 )3/2 44
ARTICLE IN PRESS
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

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

1 Curvature formula—k = dT
ds
•N 1
2
 −F Fxx   Fx  2
3 Tan(F ) ∗ ∇(Tan(F )) ∗ ∇F T (−Fy Fx ) ∗ −Fxyyy Fxy
∗ Fy 3
k= =− . (3.2)
4
|∇F |3 (Fx + Fy )
2 2 3/2 4
5 5
6 Curvature formula—k = × N | (τ = 0)
| dN
ds
6
7
  Fxx Fxy   7

|(Tan(F ) ∗ H (F )) × ∇F |  (−Fy Fx ) ∗ Fyx Fyy × (Fx Fy )

OF
8 8
k= = . (3.3)
9
|∇F |3 (Fx2 + Fy2 )3/2 9
10 10
11 Curvature formula—k = | dT
ds
×T| 11
12
    12
 (−Fy Fx ) ∗ −Fxy Fxx × (−Fy Fx )

RO
13 |(Tan(F ) ∗ ∇(Tan(F ))) × Tan(F )| −Fyy Fxy
13
14 k= = . (3.4) 14
| Tan(F )|3 (Fx2 + Fy2 )3/2
15 15
16 Note that in the plane, the cross products that appear in Eqs. (3.3) and (3.4) are really scalars— 16
17 the determinants of the two factors. Thus if we want the signed curvature, we should compute these 17
DP
18 determinants and ignore the absolute value. 18
19 We can easily check the validity of Eqs. (3.2)–(3.4) by expanding the right hand sides and observ- 19
20 ing that these expressions are each the same as the right hand side of Eq. (3.1). Eq. (3.4) is particularly 20
21 interesting because the right hand side depends only on Tan(F ). For implicit space curves, the tan- 21
22 gent direction is known, since if the space curve is given by the intersection of two implicit surfaces 22
23 {F1 (x, y, z) = 0} ∩ {F2 (x, y, z) = 0}, then the tangent is parallel to ∇F1 × ∇F2 . Thus we expect that 23
TE

24 Eq. (3.4) for the curvature of implicit planar curves will readily extend to implicit space curves; we shall 24
25 have more to say about this extension in Section 5. 25
26 What about curvature formulas for implicit surfaces? For implicit surfaces we want to consider both 26
27 the mean and the Gaussian curvature. Therefore we need two different expressions for the curvature 27
EC

28 of an implicit planar curve that readily extend, but in different ways, to implicit surfaces. None of the 28
29 expressions in Eqs. (3.1)–(3.4) will do, since these expressions all depend on Tan(F ), and for implicit 29
30 surfaces there is no analogue of Tan(F ). For implicit surfaces, we need formulas that depend only on the 30
31 gradient and the hessian. Therefore, we must take another approach. 31
32 One device for developing new expressions for the curvature is to exploit the adjoint operator (see 32
RR

33 Table 2). 33
34 Adopting the notation in Table 2, it is easy to verify the following identities: 34
35 35
36 36
37 Table 2 37
CO

38 The adjoint operator ∗ for constants, 2-dimensional row and column vectors, 38
39
and 2 × 2 matrices 39
40 Constants k k∗ = k 40
41 Row vectors r = (r1 , r2 ) r ∗ = (−r2 , r1 )T 41
Column vectors c = (c1 , c2 )T c∗ = −(−c2 , c1 )
42     42
UN

m11 m12 m22 −m21


43 Matrices M= M∗ = 43
m21 m22 −m12 m11
44 44
ARTICLE IN PRESS
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 c∗ ∗ r ∗ = r ∗ c, 1

(M ∗ c)∗ = c∗ ∗ M ∗ ,
2 2
3 3
4 (r ∗ M)∗ = M ∗ ∗ r ∗ . 4
5
Therefore for any 2-dimensional row and column vectors r, c and any 2 × 2 matrix M 5
6 6
7 r ∗ M ∗ c = (r ∗ M ∗ c)∗ = c∗ ∗ M ∗ ∗ r. 7

OF
8 8
The adjoint H ∗ (F ) of the hessian is given by
9 9
 ∂2F ∂2F   
10

− ∂y∂x Fyy −Fyx   10
H (F ) = ∂y 2
= = −∇ Tan(F ) .
11 ∂2F
− ∂x∂y ∂2F −F xy Fxx
11
12 ∂x 2 12
Moreover, by construction, the adjoint of the gradient is the tangent and the adjoint of the tangent is the

RO
13 13
14 negative of the gradient—that is, 14
15 ∗ 15
∇ (F ) = Tan(F ) , T
16 16
17 Tan∗ (F ) = −∇(F )T . 17
DP
18 18
Therefore, applying the adjoint operator to the curvature formula
19 19
20 Tan(F ) ∗ H (F ) ∗ Tan(F )T 20
k=−
21 |∇F |3 21
22 22
23
generates the following adjoint hessian formula for the curvature of an implicit planar curve: 23
TE

24 24
25
Adjoint hessian formula 25
26  Fyy −Fyx   Fx  26
27 ∗
∇F ∗ H (F ) ∗ ∇F T (Fx Fy ) ∗ −Fxy Fxx ∗ Fy 27
k=− =− . (3.5)
EC

28
|∇F |3 (Fx2 + Fy2 )3/2 28
29 29
30 Again it is easy to verify directly that the right hand side of Eq. (3.5) agrees with the right hand side 30
31 of Eq. (3.1), so Eq. (3.5) is indeed yet another valid expression for the curvature of an implicit planar 31
32 curve. Moreover, this expression in terms of the gradient and the adjoint of the hessian readily extends to 32
RR

33 implicit surfaces, so we can expect this adjoint hessian formula to represent the curvature of an implicit 33
34 surface. We shall return to this topic again in Section 4. 34
35 The adjoint hessian formula may extend to one of the two curvatures—mean or Gaussian—for an 35
36 implicit surface, but we need still another equivalent curvature expression if we hope to represent the 36
37 other curvature for implicit surfaces. Also we might like to work directly with the hessian rather than 37
CO

38 with the adjoint of the hessian. Fortunately there is another equivalent formulation for the curvature of 38
39 an implicit planar curve that uses only the gradient and the hessian. 39
40 To eliminate H ∗ (F ) from Eq. (3.5), simply observe that 40
41   41
H (F ) + H ∗ (F ) = Trace H (F ) I,
42 42
UN


43 where I is the identity matrix. Now substituting for H (F ) in Eq. (3.5) leads to the following expression 43
44 for the curvature: 44
ARTICLE IN PRESS
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 Hessian formula 1
2 2
3 ∇F ∗ H (F ) ∗ ∇F − |∇F | Trace(H (F ))
T 2 3
4 k= . (3.6) 4
|∇F |3
5 5
6 We close this section with two additional alternative expressions for the curvature of an implicit planar 6
7 curve that will show up again when we study curvature for implicit surfaces. As usual the validity of these 7
formulas can be verified by direct computation of the right hand sides.

OF
8 8
9 9
10 Determinant computation 10
11 11
 (F ) 
12 Det H∇F ∇F T 12
k= 0
. (3.7)

RO
13
|∇F |3 13
14 14
15 15
Divergence formula
16 16
 
17
∇F 17
k = −∇ • N (F ) = −∇ •
DP
18 . (3.8) 18
|∇F |
19 19
20 The divergence of the unit normal is often taken as the definition of the curvature for an implicit 20
21 planar curve. We have not used this definition here because we wanted to develop curvature formulas 21
22 for implicit curves directly from known curvature formulas for parametric curves. Also, although of 22
23 theoretical interest, this divergence formula is less practical as a computational tool than many of the 23
TE

24 other expressions for the curvature developed in this section. 24


25 25
26 26
27 4. Curvature formulas for implicit surfaces 27
EC

28 28
29
We expect curvature formulas for implicit surfaces F (x, y, z) = 0, just like curvature formulas for 29
30
implicit curves F (x, y) = 0, to depend only on the gradient ∇F , the hessian H (F ), and the adjoint of 30
31
the hessian H ∗ (F ). As with curves, we shall adopt the following notation for surfaces: 31
32 32
RR

33 ∇F = ( ∂F ∂F ∂F
∂x ∂y ∂z
) = (Fx Fy Fz ), 33
34  ∂2F 
34
∂2F ∂2F  
35 ∂x 2 ∂x∂y ∂x∂z Fxx Fxy Fxz 35
 ∂2F ∂2F ∂2F 
36 H (F ) =  ∂y∂x ∂y 2 ∂y∂z = Fyx Fyy Fyz = ∇(∇F ), 36
37 ∂2F ∂2F Fzx Fzy Fzz 37
CO

∂2F
38 ∂z∂x ∂z∂y ∂z2 38
 
39 Cofactor(Fxx ) Cofactor(Fxy ) Cofactor(Fxz ) 39

40 H (F ) = Cofactor(Fyx ) Cofactor(Fyy ) Cofactor(Fyz ) 40
41 Cofactor(Fzx ) Cofactor(Fzy ) Cofactor(Fzz ) 41
42   42
Fyy Fzz − Fyz Fzy Fyz Fzx − Fyx Fzz Fyx Fzy − Fyy Fzx
UN

43 43
= Fxz Fzy − Fxy Fzz Fxx Fzz − Fxz Fzx Fxy Fzx − Fxx Fzy .
44 44
Fxy Fyz − Fxz Fyy Fyx Fxz − Fxx Fyz Fxx Fyy − Fxy Fyx
ARTICLE IN PRESS
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 Here again ∇ applied to a row vector means take the gradient of each component and write these com- 1
2 ponent gradients in a matrix as consecutive column vectors. As with curves, the gradient ∇F is parallel 2
3 to the normal of the surface F (x, y, z) = 0. Therefore, the unit normal is given by 3
4 4
∇F (Fx Fy Fz )
5 N (F ) = = . 5
6 |∇F | Fx2 + Fy2 + Fz2 6
7 7
With this notation in hand, we are now ready to develop curvature formulas for implicit surfaces.

OF
8 8
9 The following curvature formulas for implicit surfaces appear in (Spivak, 1975, vol. 3, p. 204) (Spivak 9
10 gives only the expressions on the far right); see also (Knoblauch, 1913, pp. 89–94): 10
11 11
12 Gaussian curvature 12

RO
13 13
 
14
∇F ∗ H ∗ (F ) ∗ ∇F T  H (F )
∇F T  14
∇F
15 KG = =− 0
. (4.1) 15
|∇F |4 |∇F |4
16 16
17 17
Mean curvature
DP
18 18
 
− coeff(λ) in H (F )−λI ∇F T 
19 19
∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H ) ∇F
20 KM = = 0
. (4.2) 20
21 2|∇F |3 2|∇F |3 21
22 Notice that Eq. (4.1) for Gaussian curvature is an extension to surfaces of the adjoint hessian formula 22
23
(Eq. (3.5)) for the curvature of implicit planar curves. The normalizing factor |∇F |4 that appears in the 23
TE

24
denominator insures that cF (x, y, z) = 0 has the same curvature as F (x, y, z) = 0. In addition, Eq. (4.2) 24
25 25
for the mean curvature is an extension to implicit surfaces of the hessian formula (Eq. (3.6)) for the cur-
26 26
vature of implicit planar curves. The factor of two in the denominator occurs because the mean curvature
27 27
is the average of the two principal curvatures.
EC

28 28
The principal curvatures k1 , k2 can be computed from the mean and Gaussian curvatures KM , KG by
29 29
the standard formula
30  30
31 k1 , k2 = KM ± KM 2
− KG . (4.3) 31
32 32
RR

33 One can also verify that 33


 
− roots  H (F∇F)−λI ∇F T 
34 34
35
k1 , k2 = 0
(4.4) 35
36 |∇F | 36
37 37
CO

by using Eqs. (4.1) and (4.2) to demonstrate that Eq. (4.4) is equivalent to Eq. (4.3).
38 38
We shall now derive Eqs. (4.1) and (4.2) for the Gaussian and mean curvatures of implicit surfaces
39 39
from the corresponding curvature formulas for parametric surfaces.
40 40
41 41
Theorem 4.1.
42 42
UN

∇F ∗ H ∗ (F ) ∗ ∇F
43
KG = . 43
44 |∇F |4 44
ARTICLE IN PRESS
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 Proof. We shall only consider regular points on the implicit surface—points where ∇F = 0—since the 1
2 Gaussian curvature in not defined at points on the surface that are not regular. By the implicit function 2
3 theorem, if ∇F = 0, then the surface has a local parametrization P (s, t). Let 3
4
Ps × Pt 4
5 N = N (s, t) = ; 5
|Ps × Pt |
6 6
7 then N is the unit normal to the surface. Therefore by Corollary 2.2 7
(Ps × Pt ) • (Ns × Nt )

OF
8 8
KG = .
9 |Ps × Pt |2 9
10 10
We shall now show how to transform the right hand side of this equation into the right hand side of
11 11
Eq. (4.1). Since the unit normal to the surface is also given by the formula
12 12
∇F

RO
13
N= , 13
14 |∇F | 14
15 it follows by the chain rule that if u = s, t, then 15
16 16
Pu ∗ H (F )
17 Nu = + term parallel to ∇F. 17
|∇F |
DP
18 18
19 Hence 19
20 (Ps ∗ H (F )) × (Ps ∗ H (F )) 20
Ns × Nt = + terms perpendicular to ∇F.
21 |∇F |2 21
22
But for all 3-dimensional vectors a, b and all 3 × 3 matrices M, 22
23 23
TE

24 (a ∗ M) × (b ∗ M) = (a × b) ∗ M ∗ , 24
25 ∗ 25
where M denotes the adjoint of M. Therefore
26 26
(Ps × Pt ) ∗ H ∗ (F )
27 Ns × Nt = + terms perpendicular to ∇F. 27
|∇F |2
EC

28 28
29 Now since ∇F and Ps × Pt are both parallel to the surface normal, there is a constant λ such that 29
30
Ps × Pt = λ∇F. 30
31 31
32 Thus, 32
RR


33 λ ∇F ∗ H (F ) ∗ ∇F
2 T 33
34 (Ps × Pt ) • (Ns × Nt ) = , 34
|∇F |2
35 35
36
|Ps × Pt |2 = λ2 |∇F |2 . 36
37 Therefore 37
CO


38 (Ps × Pt ) • (Ns × Nt ) ∇F ∗ H (F ) ∗ ∇F T 38
39 KG = = . 2 39
|Ps × Pt |2 |∇F |4
40 40
41 Corollary 4.2. 41
42   42
 H (F ) ∇F T 
UN

∇F
43
KG = − 0
. 43
44 |∇F |4 44
ARTICLE IN PRESS
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 Proof. This corollary follows by expanding the right-hand side and verifying that the result gives the 1
2 same expression as the expansion of the right-hand side in the curvature formula in Theorem 4.1. 2 2
3 3
4 Theorem 4.3. 4
5 ∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H ) 5
6 KM = . 6
2|∇F |3
7 7

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

OF
8 8
9 since the mean curvature in not defined at points on the surface that are not regular. By the implicit 9
10 function theorem, if ∇F = 0, then the surface has a local parametrization P (s, t). Let 10
11 11
Ps × Pt
12 N = N (s, t) = ; 12
|Ps × Pt |

RO
13 13
14 then N is the unit normal to the surface. Therefore by Corollary 2.4 14
15 (Ps × Pt ) • ((Pt × Ns ) − (Ps × Nt )) 15
KM = .
16
2|Ps × Pt |2 16
17 17
We shall now show how to transform the right-hand side of this equation into the right-hand side of
DP
18 18
Eq. (4.2). Since the unit normal to the surface is also given by the formula
19 19
∇F
20
N= , 20
21 |∇F | 21
22 it follows by the chain rule exactly as in the proof of Theorem 4.1 that if u = s, t, then 22
23 23
Pu ∗ H (F )
TE

24 Nu = + term parallel to ∇F. 24


25
|∇F | 25
26 Hence 26
27 Pt × (Ps ∗ H (F )) 27
Pt × Ns = + terms perpendicular to ∇F,
EC

28 |∇F | 28
29
Ps × (Pt ∗ H (F )) 29
30 Ps × Nt = + terms perpendicular to ∇F, 30
|∇F |
31 31
so
32 32
RR

Pt × (Ps ∗ H (F )) − Ps × (Pt ∗ H (F ))
33
Pt × Ns − Ps × Nt = + terms perpendicular to ∇F. 33
34 |∇F | 34
35 But for all 3-dimensional vectors a, b and all symmetric 3 × 3 matrices M, 35
36 36
b × (a ∗ M) − a × (b ∗ M) = (a × b) ∗ M − Trace(M)(a × b).
37 37
CO

38 (Since this identity is not well known, and is perhaps even new, we verified this identity in Mathematica 38
39 using symbolic computation.) Therefore 39
40 (Ps × Pt ) ∗ H (F ) − Trace(H (F ))(Ps × Pt ) 40
41 Pt × Ns − Ps × Nt = + terms perpendicular to ∇F. 41
|∇F |
42 42
UN

43
Now since ∇F and Ps × Pt are both parallel to the surface normal, there is a constant λ such that 43
44 Ps × Pt = λ∇F. 44
ARTICLE IN PRESS
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 Thus 1
2 2
  λ2 ∇F ∗ H (F ) ∗ ∇F T − λ2 Trace(H (F ))|∇F |2
3
(Ps × Pt ) • (Pt × Ns ) − (Ps × Nt ) = , 3
4 |∇F | 4
5 |Ps × Pt | = λ |∇F | .
2 2 2 5
6 6
7 Therefore 7

(Ps × Pt ) • ((Ps × Nt ) − (Pt × Ns )) ∇F ∗ H (F ) ∗ ∇F − |∇F | Trace(H )


T 2

OF
8 8
9 KM = = . 2 9
2|Ps × Pt |2 2|∇F |3
10 10
11 11
Corollary 4.4.
12   12
− coeff(λ) in H (F∇F)−λI ∇F T 

RO
13 13
KM = 0
.
14
2|∇F |3 14
15 15
16 Proof. This corollary follows by expanding the right hand side and verifying that the result gives the 16
17 same expression as the expansion of the right hand side in the curvature formula in Theorem 4.3. 2 17
DP
18 18
19 Corollary 4.5 (Divergence formula for mean curvature). 19
20   20
∇F
21
KM = −∇ • N (F ) = −∇ • . 21
22 |∇F | 22
23 23
TE

24 Proof. Again this corollary follows by expanding the right hand side and verifying that the result gives 24
25 the same expression as the expansion of the right hand side in the curvature formula in Theorem 4.3. 2 25
26 26
27 The divergence of the unit normal is often taken as the definition of the mean curvature for implicit 27
EC

28 surfaces. This divergence formula mimics the corresponding divergence formula for the curvature of 28
29 an implicit curve. We have not used this definition here because, just as in the curve case, we wanted 29
30 to develop the mean curvature formula for implicit surfaces directly from the well-known formula for 30
31 the mean curvature of parametric surfaces. Moreover, although of theoretical interest, this divergence 31
32 formula is less practical as a computational tool than Eq. (4.2). 32
RR

33 Before computing some examples, let us pause here for a moment and comment upon the invariance 33
34 of these curvature formulas. The surface F (x, y, z) = 0 is identical to the surface cF (x, y, z) = 0 for any 34
35 constant c = 0. Therefore, naively, we would expect that the curvature of F (x, y, z) = 0 should be the 35
36 same as the curvature of cF (x, y, z) = 0. For implicit curves, we saw that this invariance does not quite 36
37 hold if c < 0. What about curvature invariance for implicit surfaces? 37
CO

38 For Gaussian curvature, this invariance does indeed hold. If c = 0, then replacing F by cF on the 38
39 right hand side of Eq. (4.1) introduces a factor of c4 in both the numerator and the denominator, so the 39
40 Gaussian curvature KG is unchanged. 40
41 The mean curvature, however, behaves more like the curvature of implicit planar curves. If c > 0, then 41
42 replacing F by cF on the right hand side of Eq. (4.2) introduces a factor of c3 in both the numerator 42
UN

43 and the denominator, so the mean curvature KM is unchanged. However, replacing F by −F on the 43
44 right hand side of Eq. (4.2) changes the sign of the numerator, but not the sign of the denominator, thus 44
ARTICLE IN PRESS
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 changing the sign of KM . Of course, replacing F by −F also changes the direction of the unit normal 1
2 N (F ) = ∇F /|∇F |. Therefore the mean curvature vector, 2
3 3
 M = KM N (F ) = KM ∇F /|∇F |
K
4 4
5 5
is invariant, but the sign of the mean curvature KM depends on the choice of the direction of the unit nor-
6 6
mal, which, in turn, depends on the sign of F . This sign dependence is exactly the same sign dependence
7 7
we observed in the curvature formula for implicit planar curves. In this way the mean curvature, more

OF
8 8
than the Gaussian curvature, resembles the curvature of implicit planar curves. The divergence formula
9 9
is yet another way that the mean curvature more closely mimics the behavior of the curvature of implicit
10 10
planar curves.
11 11
12 12
Example 4.1 (Spheres). We can check our curvature formulas on the spheres

RO
13 13
14 F (x, y, z) ≡ x + y + z − R = 0.
2 2 2 2
14
15 15
16
To compute the mean and Gaussian curvatures, we need 16
17
∇F = (Fx Fy Fz ) = (2x 2y 2z), 17
DP
18
    18
19 Fxx Fxy Fxz 2 0 0 19
20 H (F ) = Fyx Fyy Fyz = 0 2 0 , 20
21 Fzx Fzy Fzz 0 0 2 21
22     22
Cofactor(Fxx ) Cofactor(Fxy ) Cofactor(Fxz ) 4 0 0

23 H (F ) = Cofactor(Fyx ) Cofactor(Fyy ) Cofactor(Fyz ) = 0 4 0 , 23
TE

24 Cofactor(Fzx ) Cofactor(Fzy ) Cofactor(Fzz ) 0 0 4 24


25   25
26 Trace H (F ) = 6. 26
27 27
Gaussian curvature:
EC

28 28
29 ∇F ∗ H ∗ (F ) ∗ ∇F T 29
KG = ,
30 |∇F |4 30
31  4 0 0  2x  31
32 (2x 2y 2z) 0 4 0 2y 16(x 2 + y 2 + z2 ) 1 32
004
RR

KG = 2z
= = 2.
33 (4x + 4y + 4z )
2 2 2 2 16(x + y + z )
2 2 2 2 R 33
34 34
35
Mean curvature: 35
36 ∇F ∗ H (F ) ∗ ∇F − |∇F | Trace(H )
T 2 36
KM = ,
37
2|∇F |3 37
CO

38
 2 0 0  2x  38
39 (2x 2y 2z) 0 2 0 2y − 6(4x 2 + 4y 2 + 4z2 ) 8R − 24R
2 2
1 39
002
40 KM = 2z
= = . 40
2(4x 2 + 4y 2 + 4z2 )3/2 2(8R 2 ) R
41 41
42 Notice that the mean curvature here is negative, but notice too that ∇F = (2x, 2y, 2z) is the outward 42
UN

43 pointing normal. Thus, as one would expect, the mean curvature vector K  M = KM ∇F /|∇F | points into 43
44 the sphere and has magnitude |KM | = 1/R. 44
ARTICLE IN PRESS
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 Example 4.2 (Explicit functions). Surfaces defined by explicit functions are special cases both of para- 1
2 metric and of implicit surfaces. Therefore, we can check our curvature formulas on the explicitly defined 2
3 surfaces: 3
4 4
5
F (x, y, z) ≡ z − f (x, y, z) = 0. 5
6 To compute the mean and Gaussian curvatures, we first calculate 6
7 7
∇F = (fx fy 1),

OF
8 8
9   9
fxx fxy 0
10 10
H (F ) = fyx fyy 0 ,
11 11
0 0 0
12 12
 

RO
13 0 0 0 13
14 H ∗ (F ) = 0 0 0 , 14
15 0 0 Det(H (F )) 15
16     16
Trace H (F ) = Trace H (F ) .
17 17
DP
18 Gaussian curvature: 18
19
∇F ∗ H ∗ (F ) ∗ ∇F T Det(H (F )) 19
20 KG = = . 20
|∇F | 4 (|∇F |2 + 1)2
21 21
22 Mean curvature: 22
23
∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H ) 23
TE

24 KM = , 24
2|∇F |3
25 25
∇f ∗ H (f ) ∗ ∇f T − (|∇f |2 + 1) Trace(H (f ))
26
KM = . 26
27 2(|∇f |2 + 1)3/2 27
EC

28 28
The reader can easily verify that we get exactly these same expressions for the mean and Gaussian
29 29
curvatures using the classical formulas presented in Section 2.2 for the mean and Gaussian curvature of
30 30
a parametric surface.
31 31
32 32
RR

Our formulas for Gaussian and mean curvature readily extend to implicit hypersurfaces in higher
33 33
dimensions. If F (x1 , . . . , xn+1 ) = 0 represents an implicit n-dimensional hypersurface lying in an (n+1)-
34 34
dimensional space, then we have the following general formulas for the Gaussian and mean curvatures
35 35
(Dombrowski, 1968, pp. 167, 168; Gromoll et al., 1975, pp. 1091-111):
36 36
37 ∇F ∗ H ∗ (F ) ∗ ∇F T 37
CO

(KG )n (F ) = (−1)n ,
38
|∇F |n+2 38
39 39
∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H (F ))
40 (KM )n (F ) = . 40
41 n|∇F |3 41
42 Notice that the only essential differences between mean and Gaussian curvature formulas for surfaces in 42
UN

43 3-dimensions and mean and Gaussian curvature formulas for hypersurfaces in (n + 1)-dimensions are 43
44 the normalizations in the denominators. 44
ARTICLE IN PRESS
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 Example 4.3 (Hyperspheres). We can check these curvature formulas on the hyperspheres S n in R n+1 1
2 2
3
S n : x12 + · · · + xn+1
2
− R 2 = 0. 3
4 Here we easily compute 4
5 5
6 H (S ) = Diag(2),
n
6

7
H (S ) = Diag(2 ),
n n 7
 

OF
8 8
9
Trace H (S n ) = 2(n + 1). 9
10 Therefore 10
11 11
2n+2 R 2 (−1)n
12
(KG )n (S ) = (−1)
n n
= , 12

RO
13 (2R)n+2 Rn 13
14 8R 2 − (8n + 8)R 2 1 14
15 (KM )n (S n ) = 3
=− . 15
n(2R) R
16 16
17 17
DP
18 18
5. Curvature and torsion formulas for implicit space curves and beyond
19 19
20 20
Implicit space curves are defined by the intersection of two implicit surfaces:
21
    21
22 F (x, y, z) = 0 ∩ G(x, y, z) = 0 . 22
23 23
Since the gradients ∇F and ∇G are normal to their respective surfaces, their cross product is tangent to
TE

24 24
the intersection curve. As with planar curves, we shall adopt the following notation for space curves:
25 25
Curve tangent:
26 26
27 Tan(F, G) = ∇F × ∇G. (5.1) 27
EC

28 28
29 Unit tangent: 29
30 ∇F × ∇G 30
T (F, G) = . (5.2)
31
|∇F × ∇G| 31
32 32
RR

33 5.1. Curvature for implicit space curves 33


34 34
35 35
For implicit planar curves, we showed in Section 3 (Eq. (3.4)) that the curvature is given by
36 36
|(Tan(F ) ∗ ∇(Tan(F ))) × Tan(F )|
37
k= 37
CO

. (3.4)
38 | Tan(F )|3 38
39 39
Since we derived this curvature formula from the Frenet equations, this same curvature formula is also
40 40
valid for space curves. Substituting Eq. (5.1) for Tan(F ), we arrive at the following curvature formula
41 41
for implicit space curves:
42 42
UN

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


43
k= . (5.3) 43
44 |∇F × ∇G|3 44
ARTICLE IN PRESS
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 Example 5.1 (Spheres ∩ cylinders). We can check this curvature formula on circles generated by spheres 1
2 intersecting cylinders tangentially from the inside. Consider the following surfaces: 2
3 3
4 Spheres Cylinders 4
5 F (x, y, z) ≡ x 2 + y 2 + z2 − R 2 = 0, G(x, y, z) ≡ x 2 + y 2 − R 2 = 0, 5
6 ∇F = (2x 2y 2z), ∇G = (2x 2y 0). 6
7 7
The tangents to the intersection curve are given by

OF
8 8
9 Tan(F, G) = ∇F × ∇G = (−4yz 4xz 0). 9
10 10
11 Hence 11
12  3/2 12
|∇F × ∇G|3 = 16z2 (x 2 + y 2 ) = 64z3 R 3 ,

RO
13 13
14   14
0 4z 0
15 15
∇(∇F × ∇G) = −4z 0 0 ,
16 16
−4y 4x 0
17 17
 
DP
18 0 4z 0 18
19 (∇F × ∇G) ∗ ∇(∇F × ∇G) = (−4yz 4xz 0) ∗ −4z 0 0 = (−16xz2 −16yz2 0), 19
20 −4y 4x 0 20
21      21
 (∇F × ∇G) ∗ ∇(∇F × ∇G) × (∇F × ∇G) = (−16xz2 −16yz2 0) × (−4yz 4xz 0)
22 22
 
=  0 0 −64z3 (x 2 + y 2 )  = 64z3 R 2 .
23 23
TE

24 24
25 25
Therefore, as expected,
26 26
27 |((∇F × ∇G) ∗ ∇(∇F × ∇G)) × (∇F × ∇G)| 64z3 R 2 1 27
k= = = .
EC

28 |∇F × ∇G|3 64z3 R 3 R 28


29 29
30 We would like to extend our curvature formula—Eq. (5.3)—for implicit space curves to a curvature 30
31 formula for implicit curves in (n + 1)-dimensions—that is, to curves generated by the intersection of n 31
32 implicit equations: 32
RR

33     33
34 F1 (x1 , . . . , xn+1 ) = 0 ∩ · · · ∩ Fn (x1 , . . . , xn+1 ) . 34
35 35
36
However, in order to generalize Eq. (5.3), we first need to generalize the cross product from 3-dimensions 36
37
to (n + 1)-dimensions. Actually there are two ways to extend the cross product from 3-dimensions to 37
CO

38
(n + 1)-dimensions and we shall require both techniques. 38
39
The first cross product in Eq. (5.3) is used to compute the tangent to the intersection curve. Recall that 39
40
the gradients 40
41
∇F1 = (F1x1 , . . . , F1xn+1 ), ..., ∇Fn = (Fnx1 , . . . , Fnxn+1 ) 41
42 42
UN

43 are normal to their respective hypersurfaces. Therefore the tangent to the intersection curve is a vector 43
44 perpendicular to each of these gradient vectors. 44
ARTICLE IN PRESS
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 The extension of the cross product to (n + 1)-dimensions that generates a vector perpendicular to a 1
2 collection of n vectors is given by a determinant. Let e = (e1 , . . . , en+1 ) be the canonical basis for Rn+1 , 2
3 where ei is the vector that has a one in the ith position and a zero everywhere else. Then 3
4     4
e e1 . . . en+1
5 5
 ∇F1   F1x1 . . . F1xn+1 
6 Tan(F1 , . . . , Fn ) = Det   
 ...  = Det  .. .. ..  .
6
7 . . . 7
∇Fn Fnx1 . . . Fnxn+1

OF
8 8
9 This expression for Tan(F1 , . . . , Fn ) is perpendicular to ∇F1 , . . . , ∇Fn because taking the dot product of 9
10 Tan(F1 , . . . , , Fn ) with ∇Fi is equivalent to substituting ∇Fi for e, and the determinant of a matrix with 10
11 two identical rows is identically zero. 11
12 The other cross product in Eq. (5.3)—corresponding to the cross product in Eq. (3.1)—is the cross 12

RO
13 product of two, rather than n, vectors. To generalize this cross product from vectors in 3-dimensions to 13
14 vectors in (n + 1)-dimensions, we introduce the wedge product (Northcott, 1984). The wedge product of 14
15
two vectors
 in an (n + 1)-dimensional space spanned by e1 , . . . , en+1 is a vector in a space of dimension 15
16 n+1 spanned by a new collection of vectors denoted by {e ∧ e }, where i < j . Let u = u e + · · · + 16
2 i j 1 1
17 un+1 en+1 and v = v1 e1 + · · · + vn+1 en+1 . Then we define 17

  u u 
DP
18 18

u ∧ v = (u1 e1 + · · · + un+1 en+1 ) ∧ (v1 e1 + · · · + vn+1 en+1 ) =  i j


 vi vj  (ei ∧ ej ).
19 19
20 i<j 20
21 21
Notice that the wedge product, just like the cross product, is anti-commutative and distributes through
22 22
addition.
23 23
TE

Actually to extend Eq. (5.3), we need only compute the magnitude of the wedge product. The magni-
24 24
tude of the wedge product is given by the formula
25 25
 
26  2   ui uj 2 26
 
|u ∧ v| = (u1 e1 + · · · + un+1 en+1 ) ∧ (v1 e1 + · · · + vn+1 en+1 ) =
2  
27  vi vj  . 27
EC

i<j
28 28
29 Notice that 29
 2        2
30 u uj 
30
 i = 2
ui vj −
2
uk vk .
31
 vi vj 
31
32 i<j i j k 32
RR

33 33
Therefore, much like the cross product, wedge product satisfies the identity
34 34
35 |u ∧ v|2 = |u|2 |v|2 − (u • v)2 . 35
36
Using this identity, we can avoid altogether the computation of u ∧ v. Thus in the curvature formula we 36
37 37
CO

present below, the wedge product is used only as a device to compress the notation.
38 38
The curvature formula for a curve defined by the intersection of n implicit hypersurfaces F1 (x1 , . . . ,
39
xn+1 ) = 0, . . . , Fn (x1 , . . . , xn+1 ) = 0 now becomes 39
40 40
|(Tan(F1 , . . . , Fn ) ∗ ∇(Tan(F1 , . . . , Fn ))) ∧ Tan(F1 , . . . , Fn )|
41 k= , (5.4) 41
42 | Tan(F1 , . . . , Fn )|3 42
UN

43 where ∇(Tan(F1 , . . . , Fn )) is interpreted in the usual fashion to mean that we take the gradient of each 43
44 component of Tan(F1 , . . . , Fn ) and write these gradients in a matrix as consecutive column vectors. 44
ARTICLE IN PRESS
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 Example 5.2 (3-sphere ∩ 2-sphere ∩ cylinder). We can check this curvature formula on circles generated 1
2 by 3-spheres intersecting 2-spheres intersecting cylinders tangentially. Consider the following surfaces: 2
3 3-spheres: 3
4 4
5 F1 (x, y, z, w) ≡ x 2 + y 2 + z2 + w2 − R 2 = 0, 5
6 ∇F1 = (2x 2y 2z 2w). 6
7 7
2-spheres:

OF
8 8
9 9
10
F2 (x, y, z, w) ≡ x 2 + y 2 + z2 − R 2 = 0, 10
11 ∇F2 = (2x 2y 2z 0). 11
12 12
Cylinders:

RO
13 13
14 14
F3 (x, y, z, w) ≡ x 2 + y 2 − R 2 = 0,
15 15
16 ∇F3 = (2x 2y 0 0). 16
17 17
The tangents to the intersection curve are given by
DP
18 18
   
19 e e1 e2 e3 e4 19
 ∇F 1  2x 2y 2z 2w 
20
Tan(F1 , F2 , F3 ) = Det  =  = −(8yzw)e1 + (8xzw)e2 .
20
21 ∇F2 2x 2y 2z 0 21
22 ∇F3 2x 2y 0 0 22
23 Hence 23
TE

24
  24
25 Tan(F1 , F2 , F3 )3 = 512z3 w3 R 3 , 25
26   26
0 8zw 0 0
27
   −8zw 0 0 0
27
EC

28 ∇ Tan(F1 , F2 , F3 ) =  , 28
−8yw 8xw 0 0
29 29
−8yz 8xz 0 0
30 30
 
31 0 8zw 0 0 31
32    −8zw 0 0 0 32
Tan(F1 , F2 , F3 ) ∗ ∇ Tan(F1 , F2 , F3 ) = (−8yzw 8xzw 0 0) ∗  
RR

33 −8yw 8xw 0 0 33
34 −8yz 8xz 0 0 34
35
= −(64z w x)e1 − (64z w y)e2 ,
2 2 2 2 35
36    36
37
Tan(F1 , F2 , F3 ) ∗ ∇ Tan(F1 , F2 , F3 ) ∧ Tan(F1 , F2 , F3 ) 37
   
CO

38 = −(64z2 w2 x)e1 − (64z2 w2 y)e2 ∧ −(8yzw)e1 + (8xzw)e2 38


39 39
= −(512z3 w3 R 2 )(e1 ∧ e2 ).
40 40
41 Therefore, as expected, 41
42 42
UN

|(Tan(F1 , F2 , F3 ) ∗ ∇(Tan(F1 , F2 , F3 ))) ∧ Tan(F1 , F2 , F3 )| 512z3 w3 R 2 1


43
k= = = . 43
44 | Tan(F1 , F2 , F3 )|3 512z3 w3 R 3 R 44
ARTICLE IN PRESS
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 5.2. Torsion for implicit space curves 1


2 2
3 To develop a closed form expression for the torsion of an implicit space curve, we begin, as usual, with 3
4 a classical formula for the torsion of a parametric curve. In Section 2.1, Table 1 provides four formulas 4
5 for the torsion of a space curve in terms of the unit tangent, the unit normal, and their derivatives. For 5
6 implicit space curves, however, we know only the unit tangent (Eq. (5.2)); therefore only the last formula 6
7 in Table 1 is readily applied. Thus starting with 7

 

OF
8 8
d2 T
9 Det T dTds ds 2 9
τ= ,
10 k2 10
11 ∇F × ∇G 11
T (F, G) = ,
12 |∇F × ∇G| 12

RO
13 13
we shall now derive a closed expression for the torsion of an implicit space curve.
14 14
15 15
Theorem 5.1 (Torsion of an implicit space curve).
16 16
Det(T ∗ T ∗∗ T ∗∗∗ )
17
τ= , (5.5) 17
|T ∗ × T ∗∗ |2
DP
18 18
19 where 19
20 20
21 T ∗ = ∇F × ∇G, 21
22 T ∗∗ = T ∗ ∗ ∇T ∗ = (∇F × ∇G) ∗ ∇(∇F × ∇G), 22
23
T ∗∗∗ = T ∗ ∗ ∇(∇T ∗ ) ∗ T ∗T + T ∗ ∗ ∇T ∗ ∗ ∇T ∗ 23
TE

24   24
= (∇F × ∇G) ∗ ∇ ∇(∇F × ∇G) ∗ (∇F × ∇G)T
25 25
26 + (∇F × ∇G) ∗ ∇(∇F × ∇G) ∗ ∇(∇F × ∇G). 26

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

28 a list of three consecutive matrices. 28


29 29
30 Proof. We start with the formula 30
31  d2 T
 31
Det T dT 2
32
τ= ds ds
. 32
RR

33 k2 33
34 To compute the determinant in the numerator, observe that 34
35
T∗ 35
36 T= ∗ . 36
|T |
37 37
CO

38 Moreover, by the chain rule, 38


∗ ∗ ∗
39 dT T ∗ ∇T 39
= T ∗ ∇T ∗ = .
40
ds |T ∗ | 40
41 41
42
Therefore, by the quotient rule, 42
 d|T ∗ |  ∗
UN

43 dT T ∗ ∗ ∇T ∗ T T ∗∗ 43
44 = − ds
= + term parallel to T ∗ . 44
ds |T ∗ |2 |T ∗ |2 |T ∗ |2
ARTICLE IN PRESS
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 Differentiating one more time by the chain rule and the quotient rule, we find that 1
2 2
d2 T T ∗ ∗ ∇(∇T ∗ ) ∗ T ∗T T ∗ ∗ ∇T ∗ ∗ ∇T ∗
3 = + 3
4 ds 2 |T ∗ |3 |T ∗ |3 4
∗ ∗
T ∗ ∇T
+ terms parallel to T ∗
5 5
+ terms parallel to
6 |T ∗ | 6
7 T ∗∗∗ T ∗ ∗ ∇T ∗ 7
= ∗ 3 + terms parallel to + terms parallel to T ∗ .
|T | |T ∗ |

OF
8 8
9 9
Therefore
10
 dT d2 T
 10
11 Det T ds ds 2 Det(T ∗ T ∗∗ T ∗∗ ) 11
τ= = .
12
k 2 k 2 |T ∗ |6 12

RO
13 13
But by Eq. (5.3),
14 14
15 |((∇F × ∇G) ∗ ∇(∇F × ∇G)) × (∇F × ∇G)|2 |T ∗∗ × T ∗ |2 15
k2 = = .
16 |∇F × ∇G|6 |T ∗ |6 16
17 17
Hence
DP
18 18
Det(T ∗ T ∗∗ T ∗∗∗ )
19 τ= . 2 19
20 |T ∗ × T ∗∗ |2 20
21 21
Example 5.3 (Explicit functions of one variable). Space curves defined by the intersection of explicit
22 22
functions of a single variable are special cases of both parametric and implicit curves. Therefore, we can
23 23
TE

check our torsion formula on the intersection of two explicitly defined surfaces:
24 24
25 Equations Gradients 25
26 F (x, y, z) ≡ y − f (x) = 0, ∇F = (f  1 0), 26
27 G(x, y, z) ≡ z − g(x) = 0, ∇G = (g  0 1). 27
EC

28 28
Now we have the following matrices:
29 29
30 T ∗ = ∇F × ∇G = (1 −f  −g  ), 30
 
31 0 −f  −g  31
32 ∇T ∗ = 0 0 0 , 32
RR

33 0 0 0 33
   
34
0 0 0 −f  0 0 −g 
0 0 34
35
∇(∇T ∗ ) = 0 0 0 0 0 0 0 0 0 , 35
36 36
0 0 0 0 0 0 0 0 0
37 37
CO

38 ∇T ∗ ∗ ∇T ∗ = 0. 38
39 To compute the numerator of the torsion, observe that 39
40   40
41
0 −f  −g  41
42
T ∗∗ = T ∗ ∗ ∇T ∗ = (1 −f  −g  ) ∗ 0 0 0 = (0 −f  g  ), 42
UN

43
0 0 0 43
∗∗∗ ∗ ∗ ∗T
44 T = T ∗ ∇(∇T ) ∗ T 44
ARTICLE IN PRESS
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
0 0 0 −f  0 0 −g  0 0 1 1
2
= (1 −f  −g  ) ∗ 0 0 0 0 0 0 0 0 0 ∗ −f  2
3
0 0 0 0 0 0 0 0 0 −g  3
 
4 = (0 −f −g ). 4
5 5
6 Hence 6
 
7 1 0 0 7
Det(T ∗ T ∗∗ T ∗∗∗ ) = Det −f  −f  −f  = f  g  − f  g  .

OF
8 8
9 −g  −g  −g  9
10 10
Similarly, for the denominator we have
11 11
 2
12
|T ∗ × T ∗∗ |2 = (1 −f  −g  ) × (0 −f  −g  ) = |f  g  − f  g  g  −f  |2 12

RO
13 13
14 = (f  g  − f  g  )2 + (g  )2 + (f  )2 . 14
15 15
Therefore
16 16
Det(T ∗ T ∗∗ T ∗∗∗ ) f  g  − f  g 
17 τ= = . 17
|T ∗ × T ∗∗ | (f  g  − f  g  )2 + (g  )2 + (f  )2
DP
18 18
19 The reader can easily verify that in this case we get exactly the same expression for the torsion using the 19
20 20
classical equation given in Section 2.1 for the torsion of a parametric curve:
21 21
Det(P  P  P  )
22
τ= . 22
23 |P  × P  |2 23
TE

24 24
25 25
26 6. Summary 26
27 27
EC

28 Here we collect in one location for easy reference all of our curvature formulas for implicit curves and 28
29 surfaces. 29
30 30
31 6.1. Curvature formulas for implicit planar curves 31
32 32
RR

33 33
Notation
34
Implicit curve: F (x, y) = 0. 34
35
Normal: ∇F = (Fx , Fy ). 35
36
Tangent: Tan(F ) = k × ∇F = (−Fy , Fx ). 36
37 37
CO

Hessian:
38   38
Fxx Fxy
39 H (F ) = = ∇(∇F ). 39
40
Fyx Fyy 40
41 Adjoint of the hessian: 41
42   42
UN

Fyy −Fyx  
43
H ∗ (F ) = = −∇ Tan(F ) . 43
44 −Fxy Fxx 44
ARTICLE IN PRESS
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 Curvature formulas 1
2 2
Tan(F ) ∗ H (F ) ∗ Tan(F )T Tan(F ) ∗ ∇(Tan(F )) ∗ ∇F T
3 k=− , k= , 3
4
|∇F |3 |∇F |3 4
5 Det((Tan(F ) ∗ H (F ))T ∇F T ) Det((Tan(F ) ∗ ∇(Tan(F )))T (Tan(F ))T ) 5
k= , k= ,
6 |∇F |3 | Tan(F )|3 6
7 ∇F ∗ H ∗ (F ) ∗ ∇F T ∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H (F )) 7
k=− , k= ,

OF
8 8
|∇F |3 |∇F |3
 H (F ) ∇F   
9
  ∇F
9
10 k = ∇F 30 , k = −∇ • . 10
11 |∇F | |∇F | 11
12 12
6.2. Curvature formulas in co-dimension 1

RO
13 13
14 14
15
Notation 15
16
Implicit hypersurface: F (x1 , . . . , xn+1 ) = 0. 16
17
Gradient: ∇F = (Fx1 , . . . , Fxn+1 ). 17
Hessian:
DP
18
  18
19 Fx1 x1 . . . Fx1 xn+1 19
20 H (F ) =  ... ..
.
..
.
 = ∇(∇F ). 20
21 21
Fxn+1 x1 . . . Fxn+1 xn+1
22 22
Adjoint of the hessian:
23
  23
TE

24 Cofactor(Fx1 x1 ) . . . Cofactor(Fx1 xn+1 ) 24


25 H ∗ (F ) =  ..
.
..
.
..
.
. 25
26 26
Cofactor(Fxn+1 x1 ) . . . Cofactor(Fxn+1 xn+1 )
27 27
EC

28 Gaussian curvature 28
29 ∗ 29
∇F ∗ H (F ) ∗ ∇F T
30 k=− , 30
31
|∇F |3 31
∇F ∗ H ∗ (F ) ∗ ∇F T
32
KG = , 32
RR

33 |∇F |4 33
34 ∇F ∗ H ∗ (F ) ∗ ∇F T 34
(KG )n (F ) = (−1)n ,
35
|∇F |n+2 35
 
36
 H (F ) ∇F T  36
37 (KG )n = (−1)n−1 ∇F n+2 0
. 37
CO

38 |∇F | 38
39 39
40
Mean curvature 40
41 ∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H (F )) 41
k= ,
42 |∇F |3 42
UN

43 ∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H (F )) 43
44 KM = , 44
2|∇F |3
ARTICLE IN PRESS
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 ∇F ∗ H (F ) ∗ ∇F T − |∇F |2 Trace(H (F )) 1
(KM )n (F ) = ,
2 n|∇F |3 2
 
(−1)n−1 coeff(λn−1 ) in H (F∇F)−λI ∇F0 
3 T 3
4 (KM )n = , 4
n|∇F |3
5   5
6 ∇F
(KM )n = −∇ • . 6
7 |∇F | 7

OF
8 8
9 6.3. Curvature and torsion formulas for implicit space curves 9
10 10
11 Notation 11
12 Implicit space curve: {F (x, y, z) = 0} ∩ {G(x, y, z) = 0}. 12
Curve tangent: T ∗ = ∇F × ∇G.

RO
13 13
14 Additional notation: 14
15 15
16 • T ∗∗ = T ∗ ∗ ∇T ∗ = (∇F × ∇G) ∗ ∇(∇F × ∇G) 16
17 • T ∗∗∗ = T ∗ ∗ ∇(∇T ∗ ) ∗ T ∗T + T ∗ ∗ ∇T ∗ ∗ ∇T ∗ 17
DP
18 = (∇F × ∇G) ∗ ∇(∇(∇F × ∇G)) ∗ (∇F × ∇G)T 18
19 + (∇F × ∇G) ∗ ∇(∇F × ∇G) ∗ ∇(∇F × ∇G). 19
20 20
21 Curvature and torsion formulas 21
22 Parametric curves: 22
23
|P  × P  | Det(P  P  P  ) 23
TE

24 k= , τ= . 24
25
|P  |3 |P  × P  |2 25
26 Implicit curves: 26
27
|T ∗ × T ∗∗ | Det(T ∗ T ∗∗ T ∗∗∗ ) 27
k= τ=
EC

28 , . 28
|T ∗ |3 |T ∗ × T ∗∗ |2
29 29
30 30
6.4. Curvature formulas for implicit curves in (N + 1)-dimensions
31 31
32 32
RR

33
Notation 33
34
Implicit curve: {F1 (x1 , . . . , xn+1 ) = 0} ∩ · · · ∩ {Fn (x1 , . . . , xn+1 ) = 0}. 34
35
Gradients of scalars: ∇F1 = (F1x1 , . . . , F1xn+1 ), . . . , ∇Fn = (Fnx1 , . . . , Fnxn+1 ). 35
36
Gradients of vectors: ∇(F1 , . . . , Fn ) = ((∇F1 )T , . . . , (∇Fn )T ). 36
37 37
CO

38
Curvature formulas 38
39 Curves in 2-dimensions: 39
40 Det((Tan(F ) ∗ ∇(Tan(F ))) (Tan(F )) )
T T 40
41 k= , 41
| Tan(F )|3
42 42
UN

Tan(F ) = (−Fy , Fx ).
43 43
44 Curves in 3-dimensions: 44
ARTICLE IN PRESS
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 ••• (••••) •••–•••

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


1
k= , 1
2 | Tan(F, G)|3 2
3 Tan(F, G) = ∇F × ∇G. 3
4 4
5
Curves in (n + 1)-dimensions: 5
6 |(Tan(F1 , . . . , Fn ) ∗ ∇(Tan(F1 , . . . , Fn ))) ∧ Tan(F1 , . . . , Fn )| 6
7 k= , 7
| Tan(F1 , . . . , Fn )|3
 

OF
8 8
9
Tan(F1 , . . . , Fn ) = Det eT (∇F1 )T . . . (∇Fn )T , 9
10 |u ∧ v| = |u| |v| − (u • v) .
2 2 2 2 10
11 11
12 12

RO
13 13
7. Open questions
14 14
15 15
Although we have presented many elegant curvature formulas for implicit curves and surfaces, there
16 16
still remains some work to be done. We close with a few open problems for future research.
17 17
DP
18 18
Problem 1. Derive closed formulas for higher order curvatures for implicit curves in (n + 1)-dimensions.
19 19
Here we have derived closed formulas only for the curvature in (n + 1)-dimensions and for the torsion in
20 20
3-dimensions. Can elegant closed formulas be derived for the higher order analogues of the torsion for
21 21
implicit curves in (n + 1)-dimensions?
22 22
23 23
TE

24
Problem 2. Develop curvature formulas for curves lying on implicit surfaces. Here we have developed 24
25
curvature formulas only for curves lying in n-dimensional space. What can be said about the curvature 25
26
for curves lying on implicit surfaces? 26
27 27
Problem 3. Compute curvature formulas for implicit surfaces in (n + 1)-dimensions with co-dimension
EC

28 28
29
> 1. Apparently at least some of these formulas are known in the German literature (Dombrowski, 1968, 29
30
p. 164), but I have been unable to derive these expressions or to find these formulas in an easily accessible 30
31
form. 31
32 32
RR

33 Problem 4. Investigate numerical efficiency and robustness. We have provided many different equivalent 33
34 formulations for the curvature of an implicit planar curve. In theory, all of these expression are mathe- 34
35 matically equivalent, but, in practice, some of these expressions may be more computationally efficient 35
36 or numerically robust for performing actual calculations. We have not considered these issues here, but 36
37 these questions should be looked at in the future. 37
CO

38 38
39 39
40 Acknowledgement 40
41 41
42 I would like to thank the participants of the Erbach Workshop on Differential Geometry and Geometric 42
UN

43 Modeling, who provided me with several pertinent references both in English and in German and who 43
44 encouraged me to complete work on this paper. 44
ARTICLE IN PRESS
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 References 1
2 2
3 Bajaj, C., Kim, M.-S., 1991. Convex hulls of objects bounded by algebraic curves. Algorithmica 6, 533–553. 3
4 Belyaev, A., Pasko, A., Kunii, T. 1998. Ridges and ravines on implicit surfaces. In: Proceedings of Computer Graphics Interna- 4
5
tional ’98, Hanover, pp. 530–535. 5
Blinn, J., 1997. The algebraic properties of second-order surfaces. In: Bloomenthal, J. (Ed.), Introduction to Implicit Surfaces.
6 6
Morgan Kaufmann, San Francisco, CA.
7 Dombrowski, P., 1968. Krummungsgrossen gleichungsdefinierter Untermannigfaltigkeiten Riemannscher Mannigfaltigkeiten. 7
Math. Nachr. 38, 133–180.

OF
8 8
9 Farin, G., 2002. Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide, fifth ed. Academic Press, San 9
10 Diego, CA. 10
Fulton, W., 1974. Algebraic Curves: An Introduction to Algebraic Geometry. Mathematical Lecture Notes Series.
11 11
Gromoll, D., Klingenberg, W., Meyer, W., 1975. Riemannsche Geometric im Grossen. Lecture Notes in Mathematics, vol. 55.
12 Springer, Berlin. 12

RO
13 Hartmenn, E., 1999. On the curvature of curves and surfaces defined by normalforms. Computer Aided Geometric Design 16, 13
14 355–376. 14
15 Hoschek, J., Lasser, D., 1993. Fundamentals of Computer Aided Geometric Design. A.K. Peters, Wellesley, MA. 15
16
Knoblauch, J., 1888. Einleitung in die Allgemeine Theorie der Krummen Flachen. Druck und Verlag von B.G. Teubner, Leipzig. 16
Knoblauch, J., 1913. Grundlagen der Differentialgeometrie. Druck und Verlag von B.G. Teubner, Leipzig.
17 17
Northcott, D.G., 1984. Multilinear Algebra. Cambridge University Press, Cambridge.
DP
18 Osher, S., Fedkiw, R., 2003. Level Set Methods and Dynamic Implicit Surfaces. Appl. Math. Sci., vol. 153. Springer-Verlag, 18
19 New York. 19
20 Patrikalakis, N.M., Maekawa, T., 2002. Shape Interrogation for Computer Aided Design and Manufacturing. Springer-Verlag, 20
21 New York. 21
Sethian, J.A., 1999. Level Set Methods and Fast Marching Method, second ed. Cambridge Monogr. Appl. Comput. Math.
22 22
Cambridge University Press, Cambridge.
23 Spivak, M., 1975. A Comprehensive Introduction to Differential Geometry, vol. 3. Publish or Perish, Boston. 23
TE

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


25 Struik, D.J., 1950. Lectures on Classical Differential Geometry. Addison-Wesley, Reading, MA. 25
26 Turkiyyah, G.M., Storti, D.W., Ganter, M., Chen, H., Vimawala, M., 1997. An accelerated triangulation method for computing 26
27
the skeletons of free-form solid models. Computer-Aided Design 29, 5–19. 27
Willmore, T.J., 1959. An Introduction to Differential Geometry. Clarendon Press, Oxford. p. 16.
EC

28 28
29 29
30 30
31 31
32 32
RR

33 33
34 34
35 35
36 36
37 37
CO

38 38
39 39
40 40
41 41
42 42
UN

43 43
44 44

View publication stats

You might also like