cubic1[t_]:={3t-t^3,3t^2,3t+t^3}

ParametricPlot3D[cubic1[t], {t,-5,5}]

ParametricPlot3D[cubic1[t], {t,-2,2}, PlotRange->{{-4,4}, {-4,4}, {-4,4}}]

trifoglioprb[t_]:={Cos[3t]*Cos[t],Cos[3t]*Sin[t], Cos[3t]^2}

ParametricPlot3D[trifoglioprb[t], {t,0, 4Pi},  PlotRange->{{-1.2,1.2}, {-1.2,1.2}, {-1.2,1.2}}]

cardiode[t_]:={(1-Cos[t])*Cos[t], (1-Cos[t])*Sin[t], 0}

ParametricPlot3D[cardiode[t],  {t,0, 2Pi}]

lemniscata[t_]:={Cos[t]/(1+Sin[t]^2), Sin[2t]/(1+Sin[t]^2), 0}

ParametricPlot3D[lemniscata[t], {t, 0,4Pi}]

els3D[a_,b_,c_][t_] := {a*Exp[b*t]*Cos[t], a*Exp[b*t]*Sin[t],c*t}

ParametricPlot3D[els3D[1,.5,2][t], {t,0,4Pi}]

elica[a_,b_][t_] :={a*Cos[t], a*Sin[t],b*t}

ParametricPlot3D[elica[2,3][t], {t,0,4Pi}]

ParametricPlot3D[elica[3,1][t], {t,0,4Pi}]

D[t^3+5t^2+6, t]

D[t^3+5t^2+6, {t,2}]

D[elica[2,3][t], t]

nvt[gamma_][t_] :=Sqrt[Simplify[D[gamma[tt],tt].D[gamma[tt],tt]]]/.tt-> t

nvt[lemniscata][t]

nvt[cardiode][t]

lung[a_,b_][gamma_] :=Integrate[nvt[gamma][u],{u, a,b}]

lung[0,2*Pi][cardiode]

lung[0,Pi/2][lemniscata] (*non si puo' calcolare in modo simbolico, deve essere approsimata*)

nlung[a_,b_][gamma_] :=NIntegrate[nvt[gamma][u],{u, a,b}]

nlung[0,Pi/2][lemniscata]

tangente[gamma_][t_]:=Simplify[D[gamma[tt],tt]]/(Sqrt[Simplify[D[gamma[tt],tt].D[gamma[tt],tt]]]) /.tt -> t

binormale[gamma_][t_] :=Simplify[Cross[D[gamma[tt],tt], D[gamma[tt], {tt,2}]]/(Cross[D[gamma[tt],tt], D[gamma[tt], {tt,2}]].Cross[D[gamma[tt],tt], D[gamma[tt], {tt,2}]])^(1/2)] /.tt-> t

normale[gamma_][t_]:= Simplify[Cross[binormale[gamma][t], tangente[gamma][t]]]

Show[{ParametricPlot3D[trifoglioprb[t], {t,0,2Pi}, PlotRange -> {{-1.2,1.2}, {-1.2,1.2}, {-1.2,1.2}}], Graphics3D[{PointSize[0.03], Red, Point[trifoglioprb[Pi/5]]}], Graphics3D[{Thick, Green, Arrow[{trifoglioprb[Pi/5], trifoglioprb[Pi/5]+tangente[trifoglioprb][Pi/5]/2}]}]}]

Manipulate[Show[{ParametricPlot3D[trifoglioprb[t], {t,0,2Pi}, PlotRange -> {{-1.2,1.2}, {-1.2,1.2}, {-1.2,1.2}}], Graphics3D[{PointSize[0.03], Red, Point[trifoglioprb[k]]}], Graphics3D[{Thick, Green, Arrow[{trifoglioprb[k], trifoglioprb[k]+tangente[trifoglioprb][k]/2}]}],Graphics3D{Thick, Blue, Arrow[{trifoglioprb[k], trifoglioprb[k]+normale[trifoglioprb][k]/2}]}], Graphics3D[{Thick, Black, Arrow[{trifoglioprb[k], trifoglioprb[k]+binormale[trifoglioprb][k]/2}]}]}], {k, 0.1, 2Pi}]