MATHEMATICA CODE


ab[x_,y_,z_]:=Sqrt[x^2+y^2+z^2];
f[x_]:=7Cos[x];
g[x_]:=7Sin[x];
h[x_]:=x;
rr[x_]:=b;
ff[x_]:=D[f[x],x];
gg[x_]:=D[g[x],x];
hh[x_]:=D[h[x],x];
p[x_]:={f[x],g[x],h[x]};
uu[x_]:={-gg[x],ff[x],0};
u[x_]=uu[x]/ab[-gg[x],ff[x],0];
vv[x_]:={-ff[x] hh[x],-hh[x]gg[x],ff[x]^2+gg[x]^2};
v[x_]=vv[x]/ab[-ff[x]hh[x],-hh[x]gg[x],ff[x]^2+gg[x]^2];
ParametricPlot3D[
p[s]+rr[s+t] u[s]Cos[t]+rr[s+t] v[s]Sin[t],
{s,0,5Pi},{t,0,2Pi},Axes->False,
Boxed->False,PlotPoints->{61,17}]

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