Pathways
This was inspired by some very cool pieces by Caleb Ogg.
The basic setup is that I choose 20 random points on the sphere...
spherepoints = Normalize /@ RandomVariate[NormalDistribution[], {20, 3}];
...and 2 random rotation axes...
n = Normalize /@ RandomVariate[NormalDistribution[], {2, 3}];
...and then rotate around both axes at different rates. Here's the code:
With[{cols = RGBColor /@ {"#fd5f00", "#76b39d", "#05004e"}},
Manipulate[
Graphics3D[
{Thickness[.006],
Line[#,
VertexColors ->
Table[Directive[Blend[cols[[;; 2]], t/33], Opacity[1 - t/50]], {t, 0, 50}]]
& /@ Transpose[
Table[
spherepoints.RotationMatrix[2 ?, n[[1]]].RotationMatrix[3 ?, n[[2]]],
{?, -s, ?/2 - s, ?/100}]]},
Background -> cols[[-1]], ImageSize -> 540, Boxed -> False,
SphericalRegion -> True, PlotRange -> 1.1, ViewAngle -> ?/10],
{s, 0, 2 ?}]
]
If you want to use the exact points and axes used to produce the animation, here they are:
n = {{0.3728141055805563, 0.6721175529008367, 0.6397402893071225},
{-0.10208165334304724, -0.6120577359476601, -0.7841968272808646}};
spherepoints = {{-0.10799106985352425, -0.4160584039226773,
0.9029027264092216}, {0.15157900537807614, -0.5578647580382791,
0.8159722525107612}, {-0.3907113954330362, -0.5122140334828592,
0.764840760800567}, {0.9730729495569006, -0.21261435696902062,
0.089017807495373}, {0.05688278789414075, -0.9809950827315541,
0.18550740173346517}, {-0.4021137935203268, -0.3483613122969294,
0.8467283467296068}, {-0.6190979467900267, 0.6365973432675175,
0.45984949149163135}, {0.9284570780710303, -0.30562860674878534,
0.2110891018423282}, {-0.02111841597881698, -0.6807852829904154,
-0.7321785376328684}, {0.19282461280624952, -0.6222904436398903,
-0.7586654548947043}, {-0.47354875944631875, -0.8700494995707841,
0.13698700932380656}, {-0.49852600855636126, 0.8644855768934002,
0.06431567566424101}, {-0.3016842794402542, 0.23403999944393247,
-0.9242358325659629}, {0.5083619289119673, 0.06303537237490779,
-0.8588333313643925}, {0.16849837994835584, 0.19647359703572312,
0.9659225753768382}, {0.7430004401900321, 0.6651325623033352,
-0.07449174747056579}, {0.16245182018285645, 0.8928343037536511,
-0.4200670329364233}, {0.290783587893684, 0.39701839696616603,
0.870529320288577}, {-0.4909586596128248, -0.8633143801147486,
-0.1168241226727844}, {0.21102565308351864, 0.4447293257316856,
0.8704504584265061}};