## 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:

J(alpha(y));

[- 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:

alpha(z).J(alpha(z));

0

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) := -------------------------------------
3/2
(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:

trigsimp(%);

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:

- The elements of a vector are written in square brackets.
- The point is used to write the dot product of two vectors.