Message Boards Message Boards

[GIF] Stay Upright (Projective view of Hopf circles)

GROUPS:

Projective view of Hopf circles

Stay Upright

As with Light Show, I'm starting with a collection of Hopf circles on the 3-sphere, taking the 2-planes in $\mathbb{R}^4$ they determine (note that a Hopf circle always determines a complex line in $\mathbb{C}^2$, so these 2-planes are complex lines), and intersecting those 2-planes with the hyperplane $w=1$, which gives a collection of lines in 3-space (actually in projective 3-space, but I'm just ignoring the lines at infinity). In Light Show I was taking equally-spaced Hopf circles on the Clifford torus, whereas in this animation I'm taking a single circle on each of the tori interpolating between the unit circle in the $xy$-plane and the unit circle in the $zw$-plane (the unit circle in the $xy$-plane corresponds to a line at infinity; after the lines go off the screen they actually shoot off to infinity).

In fact, due to rendering issues I'm orthogonally projecting the lines in 3-space to the plane normal to what would be the ViewPoint vector if this were a Graphics3D object: hence the viewpoint and plane variables. Here's the code:

DynamicModule[{n = 60, a = π/4, viewpoint = {1, 1.5, 2.5}, θ = 1.19, r = 2.77, plane, 
  cols = RGBColor /@ {"#f43530", "#e0e5da", "#00aabb", "#46454b"}},
 plane = NullSpace[{viewpoint}];
 Manipulate[
  Graphics[
   {Thickness[.003],
    Table[{Blend[cols[[;; -2]], r/π], 
      InfiniteLine[
       RotationMatrix[θ].plane.# & /@ {{Cot[r] Csc[a], 0, Cot[a]}, {0, Cot[r] Sec[a], -Tan[a]}}]},
     {r, π/(2 n) + s, π, 2 π/n}]},
   Background -> cols[[-1]], PlotRange -> r, ImageSize -> 540],
  {s, 0., 2 π/n}]
 ]
POSTED BY: Clayton Shonkwiler
Answer
8 months ago

Thanks for sharing! I like the color scheme a lot.

POSTED BY: Sander Huisman
Answer
8 months ago

Thanks! I grabbed the colors from the Swiss Style Color Picker.

POSTED BY: Clayton Shonkwiler
Answer
8 months ago

Thanks for sharing!

POSTED BY: Sander Huisman
Answer
8 months ago

Now that I think about it, maybe I should make a post on where to find good color combinations once one gets sick of the built-in ColorData schemes and gradients (which happened for me about a year and a half ago).

POSTED BY: Clayton Shonkwiler
Answer
8 months ago

Would not be a bad idea! ClaytonColors[n_] := ?

POSTED BY: Sander Huisman
Answer
8 months ago

Ha!

POSTED BY: Clayton Shonkwiler
Answer
8 months ago

Group Abstract Group Abstract