MATHEMATICA CODE

Clear[rr,px,py,pz];
rr[t_]:=1.2468^t-1;
px[s_,t_]:=rr[t](1+Cos[2s]);
py[s_,t_]:=(rr[t]/4)(1+Cos[8s]/2);
pz[s_,t_]:=rr[t] Sin[2s]/2;
ParametricPlot3D[
{px[s,t]Cos[t]+py[s,t]Sin[t],
-px[s,t]Sin[t]+py[s,t]Cos[t],
pz[s,t]},
{t,4Pi,8Pi},{s,-Pi/2,Pi/2},
PlotPoints -> {60,16},
PlotRange -> All,
Axes -> False ,
Boxed -> False];

  フレームの中でドラッグすると回転し、離すとそのまま回転を続けます。