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]);