plotintrinsic3d[{kk_,tt_},{a_:0,{p1_,p2_,p3_},{q1_,q2_,q3_},{r1_,r2_,r3_}},{smin_,smax_},opts___]:=ParametricPlot3D[Evaluate[Module[{x1,x2,x3,t1,t2,t3,n1,n2,n3,b1,b2,b3},{x1[s],x2[s],x3[s]}/.NDSolve[{x1'[ss]==t1[ss],x2'[ss]==t2[ss],x3'[ss]==t3[ss],t1'[ss]==kk[ss]n1[ss],t2'[ss]==kk[ss]n2[ss],t3'[ss]==kk[ss]n3[ss],n1'[ss]==-kk[ss]t1[ss]+tt[ss]b1[ss],n2'[ss]==-kk[ss]t2[ss]+tt[ss]b2[ss],n3'[ss]==-kk[ss]t3[ss]+tt[ss]b3[ss],b1'[ss]==-tt[ss]n1[ss],b2'[ss]==-tt[ss]n2[ss],b3'[ss]==-tt[ss]n3[ss],x1[a]==p1,x2[a]==p2,x3[a]==p3,t1[a]==q1,t2[a]==q2,t3[a]==q3,n1[a]==r1,n2[a]==r2,n3[a]==r3,b1[a]==q2 r3-q3 r2,b2[a]==q3 r1-q1 r3,b3[a]==q1 r2- q2 r1},{x1,x2,x3,t1,t2,t3,n1,n2,n3,b1,b2,b3},{ss,smin,smax}]]],{s,smin,smax},opts]

plotintrinsic3d[{1&,Sin[#]&},{0,{0,0,0},{0,1,0},{0,0,1}},{-10Pi,10Pi}]

plotintrinsic3d[{1&,Sin[#]&},{0,{0,0,1},{1,0,0},{0,1,0}},{-10Pi,10Pi}]

Manipulate[plotintrinsic3d[{1&,t Sin[#]+(1-t)&},{0,{0,0,1},{1,0,0},{0,1,0}},{-10Pi,10Pi},PlotRange->{{-10,10},{-10,10},{-10,10}}],{t,0,1}]

Manipulate[plotintrinsic3d[{1&,t Sin[#]+(1-t)&},{0,{0,0,1},{1,0,0},{0,1,0}},{-10Pi,10Pi}],{t,0,1}]

Manipulate[plotintrinsic3d[{t Sin[#]+(1-t)&,0&},{0,{0,0,1},{1,0,0},{0,1,0}},{-Pi,Pi},PlotRange->{{-4,4},{-4,4},{-4,4}}],{t,0,4Pi}]

Manipulate[plotintrinsic3d[{t Sin[#]+(1-t)&,1&},{0,{0,0,1},{1,0,0},{0,1,0}},{-Pi,Pi},PlotRange->{{-5,5},{-5,5},{-5,5}}],{t,-2,2}]

vivani[a_][t_]:={a (1+Cos[t]),a Sin[t],2a Sin[t/2]}

FullSimplify[FrenetSerretSystem[vivani[a][t],t][[1]],Assumptions->{Element[t,Reals],a>0}]

ParametricPlot3D[vivani[1][t],{t,-2Pi,2Pi}]

ParametricPlot3D[vivani[1][t],{t,-2Pi,2Pi}]/.Line[x_]:>Tube[x,0.05]

torusknot[a_,b_,c_][p_,q_][t_]:={(a +b Cos[q t])Cos[p t],(a+ b Cos[q t]) Sin[p t],c Sin[q t]}

Show[ParametricPlot3D[torusknot[8,3,5][2,5][t],{t,0,2Pi}]/.Line[x_]:>Tube[x,0.3],PlotRange->All]

Manipulate[plotintrinsic3d[{1&,t Sin[#]+(1-t)&},{0,{0,0,0},{1,0,0},{0,1,0}},{-10Pi,10Pi},PlotRange->{{-10,10},{-10,10},{-10,10}}],{t,0,1}]

Manipulate[plotintrinsic3d[{1&,t&},{0,{0,0,0},{1,0,0},{0,1,0}},{-10Pi,10Pi},PlotRange->{{-10,10},{-10,10},{-10,10}}],{t,0,1}]

plotintrinsic3d[{1&,t&},{0,{0,0,0},{1,0,0},{0,1,0}},{-10Pi,10Pi},PlotRange->{{-10,10},{-10,10},{-10,10}}]

spherical[a_][m_,n_][t_]:=a {Cos[m t] Cos[n t],Sin[m t] Cos[n t],Sin[n t]}

ParametricPlot3D[spherical[1][24,1][t],{t,0,2Pi}]

plotintrinsic3d[{1&,1&},{0,{0,0,0},{1,0,0},{0,1,0}},{-10Pi,10Pi},PlotRange->{{-10,10},{-10,10},{-10,10}}]

plotintrinsic3d[{1&,1&},{0,{0,0,0},{1,0,0},{0,1,0}},{-10Pi,10Pi},PlotRange->{{-10,10},{-10,10},{-10,10}}]/.Line[x_]:>GeometricTransformation[Line[x],RotationTransform[Pi/2,{1,0,0}]]