Digi Area Group - Math Tools for Professionals
   Maple and Mathematica packages - math tools for professionals

atlas™ - modern differential geometry for Maple™

> Features List & Examples
> Template Worksheets
> Screenshots
> Documentation & Downloads
> License & Pricing
> Buy Online

 
 
 
 
Google

Features List & Examples  |  Introduction  |  Dimension  |  Indexing  |  Forms  |  Metric  |  atlasWizard - Maplet™

Curvature and moving frame
 of abstract parametric curve in polar coordinates
 

Copyright © 2004-2008 by  DigiArea Group . All rights reserved.

Problem:

Find curvature of the abstract plane curve defined by parametric equation:   r = rho(phi)  

Curve

[Maple Plot]

Solution:

Load atlas package:
restart:
with(atlas):


Plane (cartesian coordinate system)

First of all we have to discribe the space we are working in. The space is 2-dimensional Eucledean (flat) space i.e. a plane. To define the space we declare domain, forms, vectors, coframe, frame, flat metric and calculate connection (it equals to zero of cause).
Domain(R^2);

R^2

Forms(e[k]=1);

{e[k]}

Vectors(E[j]);

{E[j]}

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

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

Frame(E[k]);

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

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

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

Connection(omega);

omega[i,j]

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:

Plane (polar coordinate system)

To solve the problem we have to change coordinate system on manifold R^2  from Cartesian to polar. We can do it easily just by definition of another Eucledean domain
Domain(E^2);

E^2

Forms(z[k]=1);

{e[k], z[k]}

Vectors(Z[j]);

{Z[j]}

Coframe(z[1]=d(r),z[2]=d(phi));

[z[1] = d(r), z[2] = d(phi)]

Frame(Z[k]);

[Z[1] = Diff(``,r), Z[2] = Diff(``,phi)]

Mapping(psi,E^2,R^2,
                   x=r*cos(phi),
                   y=r*sin(phi));

psi

E^2.`--->`.(R^2)

Let us see mapping attributes:
Who(psi);


psi: mapping


TABLE([manifolds = [E^2, R^2], coframe = {e[1] = z[1]*cos(phi)-r*sin(phi)*z[2], e[2] = z[1]*sin(phi)+r*cos(phi)*z[2]}, equations = [x = r*cos(phi), y = r*sin(phi)], frame = {Z[1] = cos(phi)*E[1]+sin(ph...
TABLE([manifolds = [E^2, R^2], coframe = {e[1] = z[1]*cos(phi)-r*sin(phi)*z[2], e[2] = z[1]*sin(phi)+r*cos(phi)*z[2]}, equations = [x = r*cos(phi), y = r*sin(phi)], frame = {Z[1] = cos(phi)*E[1]+sin(ph...
TABLE([manifolds = [E^2, R^2], coframe = {e[1] = z[1]*cos(phi)-r*sin(phi)*z[2], e[2] = z[1]*sin(phi)+r*cos(phi)*z[2]}, equations = [x = r*cos(phi), y = r*sin(phi)], frame = {Z[1] = cos(phi)*E[1]+sin(ph...
TABLE([manifolds = [E^2, R^2], coframe = {e[1] = z[1]*cos(phi)-r*sin(phi)*z[2], e[2] = z[1]*sin(phi)+r*cos(phi)*z[2]}, equations = [x = r*cos(phi), y = r*sin(phi)], frame = {Z[1] = cos(phi)*E[1]+sin(ph...
TABLE([manifolds = [E^2, R^2], coframe = {e[1] = z[1]*cos(phi)-r*sin(phi)*z[2], e[2] = z[1]*sin(phi)+r*cos(phi)*z[2]}, equations = [x = r*cos(phi), y = r*sin(phi)], frame = {Z[1] = cos(phi)*E[1]+sin(ph...
TABLE([manifolds = [E^2, R^2], coframe = {e[1] = z[1]*cos(phi)-r*sin(phi)*z[2], e[2] = z[1]*sin(phi)+r*cos(phi)*z[2]}, equations = [x = r*cos(phi), y = r*sin(phi)], frame = {Z[1] = cos(phi)*E[1]+sin(ph...

Now we can calculate metric induced by the mapping:
Metric(h = g &/ psi);

h = `&.`(z[1],z[1])+r^2*`&.`(z[2],z[2])

Calculation of the corresponding connection:
Connection(Gamma);

Gamma[i,j]

Now we can continue.

  Abstract curve

Define the curve as a manifold:
Domain(A);

A

Declare function rho = rho(t) :
Functions(rho=rho(t));

{rho}

Declare 1-form for curve's coframe
Forms(u[i]=1);

{e[k], z[k], u[i]}

Declare vectors for curve's frame:
Vectors(U[k]);

{U[k]}

Declare coframe on the curve:
Coframe(u[1]=d(t));

[u[1] = d(t)]

Declare frame of the curve:
Frame(U[l]);

[U[1] = Diff(``,t)]

Declare mapping of the curve into E^2 :
Mapping(pi,A,E^2,
             r=rho,
             phi=t);

pi

A.`--->`.(E^2)

Let us see the domain attributes:
Who(pi);


pi: mapping


TABLE([manifolds = [A, E^2], coframe = {z[1] = Diff(rho,t)*u[1], z[2] = u[1]}, equations = [r = rho, phi = t], frame = {U[1] = Diff(rho,t)*Z[1]+Z[2]}, natural = {Diff(``,t) = Diff(rho,t)*Diff(``,r)+Dif...
TABLE([manifolds = [A, E^2], coframe = {z[1] = Diff(rho,t)*u[1], z[2] = u[1]}, equations = [r = rho, phi = t], frame = {U[1] = Diff(rho,t)*Z[1]+Z[2]}, natural = {Diff(``,t) = Diff(rho,t)*Diff(``,r)+Dif...
TABLE([manifolds = [A, E^2], coframe = {z[1] = Diff(rho,t)*u[1], z[2] = u[1]}, equations = [r = rho, phi = t], frame = {U[1] = Diff(rho,t)*Z[1]+Z[2]}, natural = {Diff(``,t) = Diff(rho,t)*Diff(``,r)+Dif...
TABLE([manifolds = [A, E^2], coframe = {z[1] = Diff(rho,t)*u[1], z[2] = u[1]}, equations = [r = rho, phi = t], frame = {U[1] = Diff(rho,t)*Z[1]+Z[2]}, natural = {Diff(``,t) = Diff(rho,t)*Diff(``,r)+Dif...

Calculate metric on the curve using `&/` operator:
Metric(G = h &/ pi);

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

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

Inv := TABLE([curvatures = TABLE(zero,[1 = [(-rho^2+Diff(rho,`$`(t,2))*rho-2*Diff(rho,t)^2)/(Diff(rho,t)^2+rho^2)^(3/2)]]), basis = TABLE(zero,[0 = [Diff(rho,t)/(Diff(rho,t)^2+rho^2)^(1/2)*Z[1]+Z[2]/(D...
Inv := TABLE([curvatures = TABLE(zero,[1 = [(-rho^2+Diff(rho,`$`(t,2))*rho-2*Diff(rho,t)^2)/(Diff(rho,t)^2+rho^2)^(3/2)]]), basis = TABLE(zero,[0 = [Diff(rho,t)/(Diff(rho,t)^2+rho^2)^(1/2)*Z[1]+Z[2]/(D...
Inv := TABLE([curvatures = TABLE(zero,[1 = [(-rho^2+Diff(rho,`$`(t,2))*rho-2*Diff(rho,t)^2)/(Diff(rho,t)^2+rho^2)^(3/2)]]), basis = TABLE(zero,[0 = [Diff(rho,t)/(Diff(rho,t)^2+rho^2)^(1/2)*Z[1]+Z[2]/(D...
Inv := TABLE([curvatures = TABLE(zero,[1 = [(-rho^2+Diff(rho,`$`(t,2))*rho-2*Diff(rho,t)^2)/(Diff(rho,t)^2+rho^2)^(3/2)]]), basis = TABLE(zero,[0 = [Diff(rho,t)/(Diff(rho,t)^2+rho^2)^(1/2)*Z[1]+Z[2]/(D...
Inv := TABLE([curvatures = TABLE(zero,[1 = [(-rho^2+Diff(rho,`$`(t,2))*rho-2*Diff(rho,t)^2)/(Diff(rho,t)^2+rho^2)^(3/2)]]), basis = TABLE(zero,[0 = [Diff(rho,t)/(Diff(rho,t)^2+rho^2)^(1/2)*Z[1]+Z[2]/(D...

Result

The curve curvature:
k:=Inv['curvatures'][1];

k := (-rho^2+Diff(rho,`$`(t,2))*rho-2*Diff(rho,t)^2)/(Diff(rho,t)^2+rho^2)^(3/2)

The curve moving frame:
X:=Inv['basis'][0];
Y:=Inv['basis'][1];

X := Diff(rho,t)/(Diff(rho,t)^2+rho^2)^(1/2)*Z[1]+Z[2]/(Diff(rho,t)^2+rho^2)^(1/2)

Y := 1/(Diff(rho,t)^2+rho^2)^(1/2)*rho*Z[1]-Diff(rho,t)/(Diff(rho,t)^2+rho^2)^(1/2)/rho*Z[2]

Check the "orthonormality":
'h(X,Y)'=subs({r=rho,phi=tau},h(X,Y));

h(X,Y) = 0