Mathematica code:

Rot80 =

Table[

Table[

RotationTransform[a, {1, 1, 0}, {0, 0, 0}][Tuples[{-1, 1}, 3][[v]]],

{v, 1, 8, 1}],

{a, 0, 2 Pi, Pi/80}]

Edge := {1, 2, 4, 3, 7, 8, 6, 5, 1, 3, 4, 8, 7, 5, 6, 2}

CubeTrail[h_, op_, N_, s_, r_, z_, t_, PR_, IS_, C_] :=

Graphics[

Table[

Scale[

Translate[

{AbsoluteThickness[h], Opacity[op],

If[C == 1, Black, White],

Line[

Table[

{Rot80[[1 + Mod[t, 80]]][[Edge[[e]]]][[1]],

Rot80[[1 + Mod[t, 80]]][[Edge[[e]]]][[2]]},

{e, 1, 16, 1}]]},

r{Cos[2 Pi*(n*t/80 + k)/N], Sin[2 Pi*(n*t/80 + k)/N]}],

z^n, r{Cos[2 Pi*(n*t/80 + k)/N], Sin[2 Pi*(n*t/80 + k)/N]}],

{k, 1, N, 1},

{n, 1, s, 1}],

PlotRange -> PR, ImageSize -> 500,

Background -> If[C == 0, Black, White]]

Manipulate[P = {h, op, N, s, r, z, t, PR, IS, C};

CubeTrail[h, op, N, s, r, z, t, PR, 500, 0],

{{h, 1}, 0, 20}, {op, 1, 0},

{{N, 4}, 1, 16, 1}, {s, 1, 100, 1},

{{r, 3.5}, 0, 10}, {z, 1, 0},

{{PR, 5}, 1, 5}, {C, 0, 1, 1},

{t, 0, 100, 1}]

P ={1.5, 1, 4, 8, 3.8, 0.75, 0, 5, 500, 0}

Manipulate[

CubeTrail[P[[1]],P[[2]],P[[3]],P[[4]],P[[5]],P[[6]],t,P[[8]],500,0],

{t, 1, 80, 1}]