- Very flat zeros imply very stationary osculating circles, the curves look almost as made of circle arcs.

- Very flat extrema result in curves which look as made of pieces of helices connected by circle arcs, especially if a0 = 0.

- a0 > 0, a2 = 0 allows more complicated curves, but more difficult to find. The curves have symmetry normals and the program tries to adjust a0 so that these are coplanar and hence pass through one point. The user has to vary other parameters to find closed examples.

See more constant curvature images

These curves are defined by the Frenet ODE with constant curvature kappa and the torsion function tau(s) = a0 + a1*sin(s) + a2*sin(2s) + a3*sin(3s). Constant_Curvature.

Note that the evolutes have the same constant curvature kappa and torsion=kappa^2/tau(s).

There are two special cases which allow to find closed curves:

1: Set and keep a0 = 0. -- Then every 1-parameter family contains many closed curves, because a0 = 0 implies that the curves have normal symmetry planes (at the odd zeros of tau(s)), which necessarily all intersect in one line. To find some closed curves easily, change any of the parameters a1, a2, a3 in small steps. kappa will be adjusted near the input value (if possible).

Examples 0 and 1, resp. 3 and 4 have the same a1, a3 values, but kappa is adjusted for high precision near different values of kappa.

The automatic closing works only up to 10-fold symmetry: example 7 has no kappa-adjustment.

For example 2 turn the normals on, increase a2 slowly.

Note: a1-steps cause larger changes than a3-steps. Smaller changes have to be typed.

If a2 = 0 the curve has additional rotation symmetries around some - shown - principal normals.

2: Set and keep a2 = 0, a0 > 0. -- Then most 2-parameter families contain closed curves. To find them, the program tries to adjust a0 so that the normal symmetry lines are coplanar and therefore all intersect in one point. As before, all other parameters can be slowly changed to close the curve as if one had a 1-parameter problem. The success of the a0-adjustment can be seen if digits of a0 change, otherwise it failed. (Or see console.)

Starting from example 0 one can obtain examples with different symmetries by increasing a1. This behaves like a 1-parameter family since adjustment of a0 makes the symmetry normals coplanar. Of course one can also vary kappa and a3 (slowly!). Keep a2 = 0, a0 > 0.

Example 2 has a nonsingular evolute of the same constant curvature. This cannot happen for the examples with normal symmetry planes.

Example 3: increase kappa slowly to 2.729 and watch the symmetry increase.

Example 4 has the smallest symmetry group. Examples 6 and 7 are further shapes.

Example 5 is an 11-2-knot which is also almost its own evolute, see cccAutoevolutes.

These curves are defined by the Frenet ODE with constant curvature kappa and the torsion function tau(s) = a0 + a1*sin(s) + a2*sin(2s) + a3*sin(3s). Constant_Curvature.

Note that the evolutes have the same constant curvature kappa and torsion=kappa^2/tau(s).

There are two special cases which allow to find closed curves:

1: Set and keep a0 = 0. -- Then every 1-parameter family contains many closed curves, because a0 = 0 implies that the curves have normal symmetry planes (at the odd zeros of tau(s)), which necessarily all intersect in one line. To find some closed curves easily, change any of the parameters a1, a2, a3 in small steps. kappa will be adjusted near the input value (if possible).

Examples 0 and 1, resp. 3 and 4 have the same a1, a3 values, but kappa is adjusted for high precision near different values of kappa.

The automatic closing works only up to 10-fold symmetry: example 7 has no kappa-adjustment.

For example 2 turn the normals on, increase a2 slowly.

Note: a1-steps cause larger changes than a3-steps. Smaller changes have to be typed.

If a2 = 0 the curve has additional rotation symmetries around some - shown - principal normals.

2: Set and keep a2 = 0, a0 > 0. -- Then most 2-parameter families contain closed curves. To find them, the program tries to adjust a0 so that the normal symmetry lines are coplanar and therefore all intersect in one point. As before, all other parameters can be slowly changed to close the curve as if one had a 1-parameter problem. The success of the a0-adjustment can be seen if digits of a0 change, otherwise it failed. (Or see console.)

Starting from example 0 one can obtain examples with different symmetries by increasing a1. This behaves like a 1-parameter family since adjustment of a0 makes the symmetry normals coplanar. Of course one can also vary kappa and a3 (slowly!). Keep a2 = 0, a0 > 0.

Example 2 has a nonsingular evolute of the same constant curvature. This cannot happen for the examples with normal symmetry planes.

Example 3: increase kappa slowly to 2.729 and watch the symmetry increase.

Example 4 has the smallest symmetry group. Examples 6 and 7 are further shapes.

Example 5 is an 11-2-knot which is also almost its own evolute, see cccAutoevolutes.