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

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

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

esl3D[a_, b_ , c_][t_] := {a*E^(b*t)*Cos[t], a*E^(b*t)*Sin[t], c*t}

ParametricPlot3D[esl3D[1, 0.08, 0.5][t], {t, 0, Pi}, ImageSize -> 400]

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

ParametricPlot3D[elica[3, 1][t], {t, 0, 6Pi}, ImageSize -> 400]

twistedcubic[t_] := {t, t^2, t^3}

ParametricPlot3D[twistedcubic[t], {t, -1, 1}, ImageSize -> 400]

viviani[a_][t_] := a*{1+Cos[t], Sin[t], 2Sin[t/2]}

ast3d[n_, a_, b_][t_] := {a*Cos[t]^n, b*Sin[t]^n, Cos[2t]}

ParametricPlot3D[ast3d[3, 2,11][t], {t, 0, 8Pi}, ImageSize -> 400, PlotPoints -> 100]

ParametricPlot3D[ast3d[7, 4,3][t], {t, 0, 4Pi}, ImageSize -> 400]

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

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

Cross[{1,2,3}, {1,0,1}]

{1,2,4}.{2,1,0}

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

tangente[cubic1][t]

tangente[trifoglioprb][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

binormale[cubic1][t]

binormale[trifoglioprb][t]

normale[gamma_][t_] := Simplify[Cross[binormale[gamma][tt], tangente[gamma][tt]]]/. tt -> t

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

curvatura[elica[3,2]][t]

curvatura[trifoglioprb][t]

Plot[curvatura[trifoglioprb][t], {t, 0, 2Pi}, AspectRatio -> 1, AxesOrigin -> {0,0}]

curvatura[esl3D[1, 0.08, 0.5]][t]

Plot[curvatura[esl3D[1, 0.08, 0.5]][t], {t, 0, 4Pi},AspectRatio -> 1, AxesOrigin -> {0,0}]

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

torsione[elica[3,2]][t]

torsione[trifoglioprb][t]

Plot[{curvatura[trifoglioprb][t],torsione[trifoglioprb][t]}//Evaluate, {t, 0, 2Pi}, PlotStyle -> {Red, Blue}, AspectRatio -> 1, AxesOrigin -> {0,0}]

Plot[torsione[trifoglioprb][t]//Evaluate, {t, 0, 2Pi}, AspectRatio -> 1, AxesOrigin -> {0,0}]

Manipulate[Show[
ParametricPlot3D[trifoglioprb[t],{t,0,2Pi}],
Graphics3D[{PointSize[0.03],Red,Point[trifoglioprb[k]]}],
Graphics3D[{Thick,Green,Line[{trifoglioprb[k],trifoglioprb[k]+tangente[trifoglioprb][k]/5}//Evaluate]}],
Graphics3D[{Thick,Blue,Line[{trifoglioprb[k],trifoglioprb[k]+normale[trifoglioprb][k]/5}//Evaluate]}],
Graphics3D[{Thick,Red,Line[{trifoglioprb[k],trifoglioprb[k]+binormale[trifoglioprb][k]/5}//Evaluate]}]
],{k,0.1,2Pi}]