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

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

ParametricPlot3D[cubic1[t], {t, -3, 3}, 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}]

ParametricPlot3D[trifoglioprb[t],{t,0,4 π}, PerformanceGoal->"Quality", PlotRange -> {{-1,1},{-1,1},{-.5,1.5}}]

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.4][t], {t, -2Pi, 6Pi}, 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]}

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

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