Gaussian Curvature

Author

Eric W. Weisstein
June 3, 2008

This notebook downloaded from http://mathworld.wolfram.com/notebooks/DifferentialGeometry/GaussianCurvature.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/GaussianCurvature.html.

©2008 Wolfram Research, Inc. except for portions noted otherwise

Derivation

K = (D[z[x, y], x, x] D[z[x, y], y, y] - D[z[x, y], x, y]^2)/
    (1 + D[z[x, y], x]^2 + D[z[x, y], y]^2)^2;

parametricToImplicitRules = 
Module[{
        v = {{x}, {y}, {x, x}, {y, y}, {x, y}}},
Simplify[Solve[Apply[(D[F[x, y, z[x, y]], ##] == 0)&, v, {1}],
               Apply[D[z[x, y], ##]&, v, {1}]][[1]] /. z[x, y] -> z]];

GaussCurvature[F_, {x_, y_, z_}] = Simplify[K /. parametricToImplicitRules];

GaussCurvature[F,{x,y,z}]//InputForm

FullSimplify[GaussCurvature[F,{x,y,z}]]/.{
Derivative[1,0,0][F][x,y,z]:>Subscript[F,"x"],
Derivative[0,1,0][F][x,y,z]:>Subscript[F,"y"],
Derivative[0,0,1][F][x,y,z]:>Subscript[F,"z"],
Derivative[2,0,0][F][x,y,z]:>Subscript[F,"xx"],
Derivative[0,2,0][F][x,y,z]:>Subscript[F,"yy"],
Derivative[0,0,2][F][x,y,z]:>Subscript[F,"zz"],
Derivative[1,0,1][F][x,y,z]:>Subscript[F,"xz"],
Derivative[1,1,0][F][x,y,z]:>Subscript[F,"xy"],
Derivative[0,1,1][F][x,y,z]:>Subscript[F,"yz"]
}//TraditionalForm

Examples

Sphere

eqn=x^2+y^2+z^2-r^2;

kk=GaussianCurvature[eqn,{x,y,z}]//Simplify

n=Numerator[Together[k-kk]]

PolynomialReduce[n,eqn,{x,y,z}]//Simplify

Solve[Last[%]==0,k]

GaussianCurvature[eqn,{x,y,z}]

Spheroid

eqn=-(a^2) (c^2)+(c^2) (x^2)+(c^2) (y^2)+(a^2) (z^2);

kk=GaussianCurvature[eqn,{x,y,z}]//Simplify

n=Numerator[Together[k-kk]]

Union[Last[PolynomialReduce[Numerator[Together[k-kk]],eqn,#]]&/@Permutations[{x,y,z}]]

Solve[#==0,k]&/@%47

Flatten[{{{k->(((a^4) (c^2))/((((a^4)-(a^2) (x^2)+(c^2) (x^2)-(a^2) (y^2)+(c^2) (y^2)))^2))}},{{k->((c^6)/((((c^4)+(a^2) (z^2)-(c^2) (z^2)))^2))}}}][[All,2]]

GaussianCurvature[eqn,{x,y,z}]

Ellipsoid

{z1,z2,z3}=GaussianCurvature[-(a^2) (b^2) (c^2)+(b^2) (c^2) (x^2)+(a^2) (c^2) (y^2)+(a^2) (b^2) (z^2),{x,y,z}]//FullSimplify