Clayton Shonkwiler
—Herman Gluck
Stereo[p_] := p[[;; -2]]/(1 + p[[-1]]);
vertices =
Normalize /@
DeleteDuplicates[
Flatten[
Permutations /@ ({-1, -1, 0, 0}^Join[#, {1, 1}] & /@
Tuples[{0, 1}, 2]), 1]];
edges = Select[Subsets[vertices, {2}],
#[[1]] != -#[[2]] && HammingDistance[#[[1]], #[[2]]] == 2 &];
smootheststep[t_] := -20 t^7 + 70 t^6 - 84 t^5 + 35 t^4;
With[{viewpoint = 100 Normalize[{1, 1 - Sqrt[2], 0}],
cols = RGBColor /@ {"#0CCA98", "#5E366A", "#201940"}},
Manipulate[
Graphics3D[{Thickness[.004],
Tube[#, .05] & /@
(Stereo[
RotationTransform[π/2 smootheststep[t], {{1, 1, 0,
0}, {0, 0, 1, 1}}][#]]
& /@ # & /@ edges)},
PlotRange -> 3.1, ImageSize -> {800, 600}, ViewPoint -> viewpoint,
ViewVertical -> {0, 0, 1}, Boxed -> False, ViewAngle -> π/300,
Lighting -> {{"Point", cols[[1]], {0, -3, 0}}, {"Point",
cols[[2]], {3, 0, 0}}, {"Ambient", cols[[-1]], viewpoint}},
Background -> cols[[-1]]],
{t, 0, 1}]]