Surfaces in `*`(`^`(R, 3)) 

Abstract revolutionary surface  

Problem: 

Find metric and second fundamental form of the following revolutionary surface:     

Solution: 

Load atlas package: 

> restart:
with(atlas):
 

First of all we have to describe the space we are working in. The space is 3-dimensional Euclidean (flat) space. To define the space we declare domain, forms, vectors, coframe, frame, flat metric and calculate connection (it is equal to zero of course). 

> Domain(R^3);
 

`*`(`^`(R, 3))(2.1)
 

> Forms(e[k]=1);
 

{e[k]}(2.2)
 

> Vectors(E[j]);
 

{E[j]}(2.3)
 

> Coframe(e[1]=d(x),e[2]=d(y),e[3]=d(z));
 

[e[1] = d(x), e[2] = d(y), e[3] = d(z)](2.4)
 

> Frame(E[k]);
 

[E[1] = Diff(``, x), E[2] = Diff(``, y), E[3] = Diff(``, z)](2.5)
 

> Metric(g=d(x)&.d(x)+d(y)&.d(y)+d(z)&.d(z));
 

g = `+`(`&.`(e[1], e[1]), `&.`(e[2], e[2]), `&.`(e[3], e[3]))(2.6)
 

> Connection(omega);
 

omega[i, j](2.7)
 

Now the working space is defined completely and we can start to solve the problem. 

Just for right simplification:
`atlas/simp`:=proc(a) factor(simplify(a)) end: 

Surface 

Plot_2d 

Define the surface as a manifold:
Domain(S); 

S(2.1.1)
 

Declare functions:
Functions(rho=rho(u),zeta=zeta(u)); 

{rho, zeta}(2.1.2)
 

Declare 1-form for surface coframe
Forms(phi[i]=1); 

{e[k], phi[i]}(2.1.3)
 

Declare vectors for surface frame:
Vectors(Phi[k]); 

{Phi[k]}(2.1.4)
 

Declare coframe on the surface:
Coframe(phi[1]=d(u),phi[2]=d(v)); 

[phi[1] = d(u), phi[2] = d(v)](2.1.5)
 

Declare frame of the surface:
Frame(Phi[j]); 

[Phi[1] = Diff(``, u), Phi[2] = Diff(``, v)](2.1.6)
 

Declare mapping of the surface into `*`(`^`(R, 3)):
Mapping(pi,S,R^3,
               x=rho*cos(v),
               y=rho*sin(v),
               z=zeta);
 

 

pi
`.`(S, `--->`, `*`(`^`(R, 3)))(2.1.7)
 

One can also calculate metric induced on the surface by the mapping. 

> Metric(G = g &/ pi);
 

G = `+`(`*`(`+`(`*`(`^`(Diff(rho, u), 2)), `*`(`^`(Diff(zeta, u), 2))), `*`(`&.`(phi[1], phi[1]))), `*`(`^`(rho, 2), `*`(`&.`(phi[2], phi[2]))))(2.1.8)
 

Calculate invariants of the mapping:
Inv:=Invariants(pi); 

table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
table( [( meanCurvature ) = `+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zet...
(2.1.9)
 

Let us extract the mean curvature vector field: 

> mu:=Inv[meanCurvature];
 

`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
`+`(`-`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`-`(`*`(rho, `*`(Diff(rho, u, u), `*`(Diff(zeta, u))))), `*`(rho, `*`(Diff(zeta, u, u), `*`(Diff(rho, u)))), `*`(Diff(zeta, u), `*`(`^`(Diff(rho, u),...
(2.1.10)
 

Let us extract the second fundamental form: 

> Sf:=eval(Inv[secondForm]);
 

table( [( 2, 2 ) = [`+`(`-`(`/`(`*`(rho, `*`(cos(v), `*`(`^`(Diff(zeta, u), 2), `*`(E[1])))), `*`(`+`(`*`(`^`(Diff(rho, u), 2)), `*`(`^`(Diff(zeta, u), 2)))))), `-`(`/`(`*`(rho, `*`(sin(v), `*`(`^`(Di...
table( [( 2, 2 ) = [`+`(`-`(`/`(`*`(rho, `*`(cos(v), `*`(`^`(Diff(zeta, u), 2), `*`(E[1])))), `*`(`+`(`*`(`^`(Diff(rho, u), 2)), `*`(`^`(Diff(zeta, u), 2)))))), `-`(`/`(`*`(rho, `*`(sin(v), `*`(`^`(Di...
table( [( 2, 2 ) = [`+`(`-`(`/`(`*`(rho, `*`(cos(v), `*`(`^`(Diff(zeta, u), 2), `*`(E[1])))), `*`(`+`(`*`(`^`(Diff(rho, u), 2)), `*`(`^`(Diff(zeta, u), 2)))))), `-`(`/`(`*`(rho, `*`(sin(v), `*`(`^`(Di...
table( [( 2, 2 ) = [`+`(`-`(`/`(`*`(rho, `*`(cos(v), `*`(`^`(Diff(zeta, u), 2), `*`(E[1])))), `*`(`+`(`*`(`^`(Diff(rho, u), 2)), `*`(`^`(Diff(zeta, u), 2)))))), `-`(`/`(`*`(rho, `*`(sin(v), `*`(`^`(Di...
table( [( 2, 2 ) = [`+`(`-`(`/`(`*`(rho, `*`(cos(v), `*`(`^`(Diff(zeta, u), 2), `*`(E[1])))), `*`(`+`(`*`(`^`(Diff(rho, u), 2)), `*`(`^`(Diff(zeta, u), 2)))))), `-`(`/`(`*`(rho, `*`(sin(v), `*`(`^`(Di...
(2.1.11)
 

Now we can calculate the corresponding tensor: 

> B:=add(add(`&.`(e[i],e[j],eval(Sf)[i,j])
,i=1..2),j=1..2);
 

`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
`+`(`/`(`*`(cos(v), `*`(Diff(zeta, u), `*`(`+`(`*`(Diff(rho, u, u), `*`(Diff(zeta, u))), `-`(`*`(Diff(zeta, u, u), `*`(Diff(rho, u))))), `*`(`&.`(e[1], e[1], E[1]))))), `*`(`+`(`*`(`^`(Diff(rho, u), 2...
(2.1.12)
 

>