Message Boards Message Boards


Calculate the mean curvature and normal vector of a surface?

Posted 1 month ago
3 Replies
2 Total Likes

Is there a code in Mathematica that allows to calculate the mean curvature and normal vector of a surface?

3 Replies

What do you mean by "is there a code"? The code should be dependent on how your surface is given.

If your surface in R3 is given as a function of x and y, say f[x,y] , then according to my knowledge this should do the job

xx = {x, y, f[x, y]};
nn = Cross[D[xx, x], D[xx, y]];
nN = nn/Sqrt[nn.nn] // FullSimplify;
meancurv = -(D[nN[[1]], x] + D[nN[[2]], y])/2 /. Sqrt[a_] Sqrt[b_] :> Sqrt[ a b] // FullSimplify
Posted 1 month ago

Hello. The surface equation I want to calculate is given as follows: x(s, t) = (a + f(t) cos(bs) ? g(t) sin(bs)) (cos s, sin s, 0)+(0, 0, f(t) sin(bs) + g(t) cos(bs))

Well, I did the (tedious) work to translate your equation into Mathematica:

x[s, t] := (a + f[t] Cos[b s] - g[t] Sin[b s]) {Cos [s], Sin[ s], 0} + {0, 0, f[t] Sin[b s] + g[t] Cos[b s]}

Then the normal is given as above by

e1 = D[x[s, t], s] // FullSimplify;
e2 = D[x[s, t], t] // FullSimplify;
nn = Cross[e1, e2]

which gives a real lengthy result, which becomes even more complicated when dividing this by the Length of nn.

Concerning the mean curvature I am not sure whether the formula given above is applicable (I think yes - change x and y to s and t), but you should look for another method to calculate it. But I guess the general formula will be of no use, because it will be even more complicated.

It may help to specify f[t] and g[t], as done in the example below. But does it make sense to speak of a mean curvature of this surface?

 Evaluate[x[s, t] /. {f[t] -> t, g[t] -> t, a -> 10, b -> .1}],
 {s, -5, 5}, {t, -5, 5}]
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract