Message Boards Message Boards


[GIF] Osculating (Osculating circles to a polar curve)

Posted 3 years ago
2 Replies
5 Total Likes

Osculating circles to a polar curve


Conceptually fairly simple, though it took a while to find the right number of circles to include without causing unpleasant visual artifacts.

Anyway, the animation shows 100 osculating circles to the curve $r = \cos (3\theta+\pi/2)$ as they traverse along the curve.

As in Bessel and Tangents, I think it's interesting how the form of the curve emerges from a family of approximations even though the curve itself is never explicitly drawn.

Here's the code:

DynamicModule[{r, curvature, parametrizedcurve, n = 100, 
  cols = RGBColor /@ {"#08D9D6", "#EAEAEA", "#FF2E63", "#252A34"}},
 r[?_] := Cos[3 ? + ?/2];
 curvature[?_] := (r[?]^2 + 2 r'[?]^2 - r[?] r''[?])/(r[?]^2 + r'[?]^2)^(3/2);
 parametrizedcurve[?_] := {r[?] Cos[?], r[?] Sin[?]};
  Graphics[{Thickness[.005], Opacity[.8], 
    Table[{Blend[Append[cols[[;; 3]], cols[[1]]], Mod[?, ?]/?], 
      Circle[parametrizedcurve[?] + 1/curvature[?] Normalize[{-#[[2]], #[[1]]} 
        &[parametrizedcurve'[?]]], 1/curvature[?]]}, 
       {?, t, ? + t, 2 ?/n}]},
    ImageSize -> 540, Background -> cols[[-1]], 
   PlotRange -> {{-3/2, 3/2}, {-9/8, 15/8}}],
  {t, 0, 2 ?/n}]

And a still with 700 osculating circles which (to my eyes) doesn't work as an animation because of the aforementioned visual artifacts:

enter image description here

2 Replies

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

I love this one quite a lot! Wonderfully confusing!

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract