Message Boards Message Boards

[GIF] Bertrand Pairs (Bertrand pairs of a helix)

Bertrand pairs of a helix

Bertrand Pairs

I'm teaching an undergraduate differential geometry course this semester, and was reminded of Bertrand pairs, which are pairs of parametrized curves for which corresponding points have the same normal line.

Most curves don't have a Bertrand pair, and most of the ones that do have exactly one. However, there is an exception: any circular helix has infinitely many Bertrand pairs, given by just traveling any fixed distance in the principal normal direction at every point. The animation shows (some of) the family of Bertrand pairs for the helix $(\cos t, \sin t, t/4)$, as the distance $r$ along the normal line varies from 0 to 2. At distance 2 the Bertrand pair is a congruent helix, $180^\circ$ out of phase, so I'm rotating the family to make the $r=2$ pair exactly in phase and the family is periodic.

To get the family of Bertrand pairs, I first use the arclength parametrization $\alpha(s) = (\cos 4s/\sqrt{17}, \sin 4s/\sqrt{17}, s/\sqrt{17})$, then plug this into FrenetSerretSystem[] to get the principal normal $N(s) = (-\cos 4s/\sqrt{17}, -\sin 4s/\sqrt{17},0)$. The Bertrand pairs are then $\alpha(s) + r N(s)$ for any choice of $r$.

For the actual animation I used a complicated combination of Blend[] and ImageCompose[] to get all the curves to be visually on the same "level", but that was very slow. Here's the code for a simplified version which is fast enough for a Manipulate[] but which will have some artifacts if exported to a GIF:

With[{n = 24},
 Manipulate[
  ParametricPlot[
   Evaluate@
    Table[{{0, 1, 0}, {0, 0, 1}}.RotationMatrix[? + i ?/n, {0, 0, 1}].
      ({Cos[4 t/Sqrt[17]], Sin[4 t/Sqrt[17]], t/Sqrt[17]} + 
        2 Haversine[? + i ?/n] {-Cos[(4 t)/Sqrt[17]], -Sin[(4 t)/Sqrt[17]], 0}),
     {i, 0, n - 1}],
   {t, 0, 6 ?},
   PlotRange -> {{-1.1, 1.1}, 1/Sqrt[17] {3/2 ?, 9/2 ?}}, Axes -> None,
   PlotStyle -> Table[Directive[CapForm[None], Thickness[.006], Opacity[.6], 
      Hue[Haversine[? + i ?/n]]], {i, 0, n - 1}],
   ImageSize -> {540, 540}, Background -> Black],
  {?, 0, -?/n}]
 ]

enter image description here - Congratulations! This post is now a Staff Pick as distinguished by a badge on your profile! Thank you, keep it coming!

POSTED BY: EDITORIAL BOARD
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract