Geometry: Planar Curves

This section uses material from Alfred Gray's book:

Modern Differential Geometry of Curves and Surfaces,
1994 CRC Press, Florida

The parametric representation of a planar curve can be written as a vector in two dimensions. The elements of that vector are functions of the parameter t:

alpha(t) := [sin(t), cos(t)];

We obtain the definition as an answer:

alpha(t) := [sin(t), cos(t)]

We can compute the derivation:

 diff(alpha(z), z);

And we get this result:

 [cos(z), - sin(z)]

Next, we define a function, that is called the "complex structure":

J(a) := [-a[2], a[1]];
  J(a) := [- a , a ]
              2   1

In the definition of J, we assume that a is a vector with exactly two elements. This is neither declared nor checked.

Here is how it works:

    [- cos(y), sin(y)]

In geometric interpretation, this is a rotation around 90 degrees. It is not a surprise that the scalar product of alpha(z) and J(alpha(z)) is zero:


Now we define the curvature of a plane curve

kappa(fn, t) := diff(fn(t), t, 2).J(diff(fn(t), t))/((diff(fn(t), t).diff(fn(t), t))^(3/2));
                    diff(fn(t), t, 2) . j(diff(fn(t), t))
    kappa(fn, t) := -------------------------------------
                    (diff(fn(t), t) . diff(fn(t), t))

Now let us compute the curvature of alpha:

kappa(alpha, t);

Maxima answers:

         2         2
    - sin (t) - cos (t)
       2         2    3/2
   (sin (t) + cos (t))

This is a surprisingly complicated result: alpha(t) is a parametric representation of a circle and a circle should have constant curvature. An attempt to simplify this result is certainly worthwile:


Now Maxima confirms what we think: A circle has constant curvature.

    - 1

Now, let us examine a slightly more complicated curve, the eight-curve:

 eight(t) := [sin(t), sin(t)*cos(t)];
eight(t) := [sin(t), sin(t) cos(t)]

To draw that curve, we can use this command:

plot2d(append('[parametric], eight (z), [[z, -%pi, %pi]], [[nticks, 360]]));

The diagram is shown in a separate window.

Now we can compute the curvature:

kappa(eight, z);

and we obtain:

               2         2            2
  - sin(z) (sin (z) - cos (z)) - 4 cos (z) sin(z)
	     2	       2    2      2    3/2
	((cos (z) - sin (z))  + cos (z))

The curvature of the eight-curve can be plotted with this command:

 plot2d(kappa(eight, z), [z, -%pi, %pi]);

What we have Learned: