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

Posted 2 years ago
3024 Views
|
6 Replies
|
5 Total Likes
| Stay UprightAs 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}] ] Answer
6 Replies
Sort By:
Posted 2 years ago
 Thanks for sharing! I like the color scheme a lot. Answer
Posted 2 years ago
 Thanks! I grabbed the colors from the Swiss Style Color Picker. Answer
Posted 2 years ago
 Thanks for sharing! Answer
Posted 2 years 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). Answer
Posted 2 years ago
 Would not be a bad idea! ClaytonColors[n_] := ? Answer
Posted 2 years ago
 Ha! Answer