
Pushed Around
Continuing with the theme (1, 2, 3, 4), this is another closed geodesic in polygon space. For some reason, I've almost never used Dashing before, but it's kind of fun to play around with.
Here's the code:
ToReal[z_] := {Re[z], Im[z]};
ToComplex[{x_, y_}] := x + I y;
FrameToPol[{A_, B_}] := ToReal[ToComplex[#]^2] & /@ Transpose[{A, B}];
FrameToVertices[{A_, B_}] := Accumulate[FrameToPol[{A, B}]];
Manipulate[Module[{cols, fr, dfr, θ, verts},
cols = RGBColor /@ {"#00C3FF", "#3B475E"};
fr = Transpose[
ToReal[Sqrt[#]] & /@
Table[2/5 E^(I θ), {θ, π/5,
4 π + π/5 - 4 π/5, 4 π/5}]];
dfr = Transpose[
ToReal[Sqrt[#]] & /@
Table[2/5 E^(I θ), {θ, π/5,
2 π + π/5 - 2 π/5, 2 π/5}]];
θ = π (1/2 - 1/2 Cos[π s]);
Graphics[{FaceForm[None],
EdgeForm[
Directive[cols[[1]], JoinForm["Round"], CapForm["Round"],
Dashing[{.02, .04}], Thickness[.005]]], {
verts =
RotationMatrix[4 π/5].# & /@
FrameToVertices[Cos[θ] fr + Sin[θ] dfr];
Polygon[-Mean[verts] + # & /@ verts]}}, ImageSize -> 540,
PlotRange -> 1/Sqrt[2], Background -> cols[[2]]]], {s, 0., 1}]