MTH 212: TNB-Frame. Acceleration.

Using a slider to show the TNB-frame for a space curve:

r[t_]:={Cos[t],Sin[t],t} (* our curve is a helix *)
rT[t_]:=r'[t]/Sqrt[r'[t].r'[t]] (* T, the unit tangent to the curve *)
rN[t_]:=rT'[t]/Sqrt[rT'[t].rT'[t]](* N, the principal unit normal vector - 
using the formula of N=(dT/dt)/|dT/dt| *)
rB[t_]:= Cross[rT[t],rN[t]] (* B, the unit binormal vector *) 

Manipulate[
Show[
ParametricPlot3D[r[t],{t,0,4Pi},PlotRange-> {{-2,2},{-2,2},{ 0, 4Pi}}],
Graphics3D[{Arrowheads[.025],
		Arrow[{r[ts],r[ts]+rT[ts]}],Text[Style["T",Bold],{r[ts]+rT[ts]}],
		Red, Arrow[{r[ts],r[ts]+rN[ts]}],Text[Style["N",Bold],{r[ts]+rN[ts]}],
		Blue, Arrow[{r[ts],r[ts]+rB[ts]}],Text[Style["B",Bold],{r[ts]+rB[ts]}]
}]
],
{ts,0,4Pi}
]

Acceleration of a plane curve:

c[t_]:={2Cos[t], Sin[2t]} (* curve in plane *)
sC[t_]:=Sqrt[c'[t].c'[t]] (* speed *)
cT[t_]:=c'[t]/sC[t] (* computing cT, the unit tangent to the curve *)
cN[t_]:=cT'[t]/Sqrt[cT'[t].cT'[t]](* cN, the principal unit normal vector - using the formula (dT/dt)/|dT/dt| *) 
a[t_]:=c''[t] (* acceleration vector *)
aT[t_]:= sC'[t] (* tangential component of a  (scalar!) *)
aN[t_]:=Sqrt[a[t].a[t]-(aT[t])^2] (* normal component of a (scalar!) *)

Manipulate[
Show[
ParametricPlot[c[t],{t,0,4Pi},PlotRange-> {{-4,4},{-4,4}}],
Graphics[{Arrowheads[.025],
                  Arrow[{c[ts],c[ts]+cT[ts]}],Text["T",c[ts]+cT[ts]+0.1],
		Arrow[{c[ts],c[ts]+a[ts]}],Text["a",c[ts]+a[ts]+0.1],
		Arrow[{c[ts],c[ts]+aT[ts]*cT[ts]}],Text["aT",c[ts]+aT[ts]*cT[ts]+0.1],
		Arrow[{c[ts],c[ts]+aN[ts]*cN[ts]}],Text["aN",c[ts]+aN[ts]*cN[ts]+0.1],
                  Dashed,Line[{c[ts]+a[ts],c[ts]+aT[ts]*cT[ts]}],
                  Dashed,Line[{c[ts]+a[ts],c[ts]+aN[ts]*cN[ts]}]
}]
],
{ts,0,4Pi}
]