Message Boards Message Boards


[GIF] Double Projection (Projected rotating 16-cell)

Posted 1 year ago
1 Reply
2 Total Likes

Projected rotating 16-cell

Double Projection

This is a similar idea to J34: starting with the vertices of the 16-cell (a.k.a. cross polytope, a.k.a. orthoplex) and thinking of them as points on the 3-sphere, I'm applying a rotation, then projecting down to the 2-sphere using the Hopf map. From there, the difference from J34 is that I'm taking those points on the 2-sphere, forming a spherical disk of radius 0.4, then stereographically projecting down to the plane (this last step uses the ProjectedSphericalCircle[] function from Small Changes which, given the center and radius of a disk on the sphere, outputs a Disk[] in the plane which is its stereographic image).

First of all, we need the Hopf map and the smootherstep function:

Hopf[{x_, y_, z_, w_}] := {x^2 + y^2 - z^2 - w^2, 2 y z - 2 w x, 2 w y + 2 x z};
smootherstep[t_] := 6 t^5 - 15 t^4 + 10 t^3;

And the vertices of the 16-cell:

sixteencellvertices = 
  Normalize /@ 
   Flatten[Permutations[{-1, 0, 0, 0}]^# & /@ Range[1, 2], 1];

And then this is the animation code:

With[{pts = Normalize /@ sixteencellvertices, viewpoint = 2 {1, 0, 0},
   cols = RGBColor /@ {"#00adb5", "#f8b500", "#1a0841"}},
     cols[[;; 2]], (Floor[t] + Sign[1 - t] smootherstep[Mod[t, 1]])],
      RotationMatrix[?/2, {0, 0, 1}].
        RotationMatrix[?/2 (Floor[t] + smootherstep[Mod[t, 1]]), {{1, 1, 0, 0}, {0, 0, 1, 1}}].pts[[i]]
     {i, 1, Length[pts]}]},
   PlotRange -> 3, ImageSize -> 540, Background -> cols[[-1]]],
  {t, 0, 2}]

Finally, here's an image where I've composited together all of the frames of a similar animation (essentially the same thing without the smootherstep function, so it's just a constant-speed rotation):

All frames of the animation composited together

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, and consider contributing your work to the The Notebook Archive!

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

Group Abstract Group Abstract