F[d_, f_] := Graphics3D[ Table[{Specularity[White, 50], Blend[{Purple, Red, Yellow, Lighter[Green, 1/2], Lighter[Cyan, 1/8], Lighter[Blue, 1/3], Lighter[Purple, 1/2]}, i/20], Sphere[{i Cos[2 Pi i/d], i Sin[3 Pi i/d], i}, i/6]}, {i, 20}], PlotRange -> {{-25, 25}, {-25, 25}, {0, 30}}, Lighting -> "Neutral", ViewPoint -> f, Boxed -> False, Background -> GrayLevel[0], AspectRatio -> 0.7, ImageSize -> {600, 300}]; Manipulate[ If[r == 1, S = Animate[F[d, Right], {d, 15, 35}]]; If[r == 2, S = Animate[F[d, Left], {d, 15, 35}]]; If[r == 3, S = Animate[F[d, Top], {d, 15, 30}]]; If[r == 4, S = Animate[F[d, Bottom], {d, 15, 30}]]; S, {{r, 1, "view:"}, {1 -> "From the Right", 2 -> "From the Left", 3 -> "From the Top", 4 -> "From the Bottom"}}]