Plane curves
This notebook illustrates how to use the Atlas package to solve problems in elementary differential geometry.
What we do?
- As an example we calculate the curvatures and moving frame of the following plane curves: astroid, cardioid and abstract plane curve.
- We assume that astroid is given as a parametric curve in the Cartesian coordinate system and the cardioid is given as a parametric curve in the polar coordinate system.
- For abstract plane curve we will do the calculations in both systems.
Solution:
| Coframe[id1→ expr1,id2→ expr2,...idn→ exprn] | id - identifier for indexed variable - the coframe 1-forms,
n - dimension of working manifold (a variable or integer),
idi expri - rules where idi is indexed variable - coframe 1-form and expri is decomposition of the 1-form on exact 1-forms. |
| Connection[id] | id - variable - connection identifier. |
Mapping[f,m,n,y1→f1(x1,x2...xm),y2→f2(x1,x2...xm),..., yn→fn(x1,x2...xm)] | f - variable - the mapping identifier i.e. f : m n,
m - variable - first domain identifier,
n - variable - second domain identifier. |
| Invariants[f] | f - mapping identifier. |
Necessary functions.
Just for right simplification:
Description of the total space R2:
First of all we have to describe the space we are working in. The space is 2-dimensional Euclidean (flat) space i.e. a plane. To define the space we declare
domain, forms, vectors, coframe, frame, flat
metric and calculate the
connection (it is equal to zero of cause).
Define Euclidean space as a manifold:
| Out[9]= |  |
Declare 1-forms for the space coframe:
| Out[10]= |  |
Declare vectors for the space frame:
| Out[11]= |  |
Declare coframe on the space:
| Out[12]= |  |
Declare frame on the space:
| Out[13]= |  |
Declare flat metric on the space:
| Out[14]= |  |
Calculate connection of the metric:
| Out[15]= |  |
Astroid
Define the curve as a manifold:
| Out[16]= |  |
| Out[17]= |  |
Declare 1-form for curve's coframe:
| Out[18]= |  |
Declare vectors for curve's frame:
| Out[19]= |  |
Declare coframe on the curve:
| Out[20]= |  |
Declare frame of the curve:
| Out[21]= |  |
Declare mapping of the curve into
R2:
| Out[22]= |  |
| Out[23]= |  |
Calculate metric on the curve using Pullback operator:
| Out[24]= |  |
It is obvious that the metric gives the
squared differential of the curve's arc: 
Calculate invariants of the mapping:
| Out[25]= |  |
Extract tangent normalized vector field:
| Out[26]= |  |
Extract normal normalized vector field:
| Out[27]= |  |
Extract curvature of the curve:
| Out[28]= |  |
Let us check the "orthonormality" of the moving frame vectors T and K. To do this we use metric tensor field
gR:
| Out[29]= |  |
| Out[30]= |  |
| Out[31]= |  |
Abstract curve (Cartesian)
Define the curve as a manifold:
| Out[33]= |  |
Define two functions on the curve:
| Out[34]= |  |
Declare 1-form for curve's coframe:
| Out[35]= |  |
Declare vectors for curve's frame:
| Out[36]= |  |
Declare coframe on the curve:
| Out[37]= |  |
Declare frame of the curve:
| Out[38]= |  |
Declare mapping of the curve into
R2:
| Out[39]= |  |
Now we can calculate metric induced on the curve by the mapping:
| Out[40]= |  |
Calculate invariants of the mapping:
| Out[41]= |  |
Change coordinates on R2
To continue with cardioid and abstract polar curves example, we have to change the coordinate system on the manifold
R2 from Cartesian to polar. We can do it easily just by defining another Euclidean domain.
Define the Euclidean space as a manifold:
| Out[42]= |  |
Declare 1-forms for the space coframe:
| Out[43]= |  |
Declare vectors for the space frame:
| Out[44]= |  |
Declare coframe on the space:
| Out[45]= |  |
Declare frame on the space:
| Out[46]= |  |
Declare mapping of
2 into
R2 :
| Out[47]= |  |
| Out[48]= |  |
Out[49]//TableForm= |
| |  |
Now we can calculate metric induced by the mapping:
| Out[50]= |  |
Calculation of the corresponding connection:
| Out[51]= |  |
Out[52]//MatrixForm= |
| |  |
Cardioid
Define the curve as a manifold:
| Out[53]= |  |
Declare 1-form for curve's coframe:
| Out[54]= |  |
Declare vectors for curve's frame:
| Out[55]= |  |
Declare coframe on the curve:
| Out[56]= |  |
Declare frame of the curve:
| Out[57]= |  |
Declare mapping of the curve into
2:
| Out[58]= |  |
| Out[59]= |  |
Out[60]//TableForm= |
| |  |
Calculate metric on the curve using Pullback- operator:
| Out[61]= |  |
Calculate invariants of the mapping:
| Out[62]= |  |
Abstract curve (polar)
Let a parametric curve be given by equation
r=
(
) in polar coordinates. Define the curve as a manifold:
| Out[63]= |  |
Declare function
=
(t):
| Out[64]= |  |
Declare 1-form for curve's coframe:
| Out[65]= |  |
Declare vectors for curve's frame:
| Out[66]= |  |
Declare coframe on the curve:
| Out[67]= |  |
Declare frame of the curve:
| Out[68]= |  |
Declare mapping of the curve into
2:
| Out[69]= |  |
Calculate metric on the curve using Pullback- operator:
| Out[70]= |  |
Calculate invariants of the mapping:
| Out[71]= |  |