The first set of equations establishes the function, f, the endpoints and then calculates the Tangent Vector, Normal Vector, and Binormal Vector.  Makes the assumption that t≥0 in the calculation for the equations to make sense to mathematica.

f[t_]:={1,Cos[t^2],Sin[t^2]}
a=0;
b=5;
Tv[t_]:=Simplify[((f'[t])/(Norm[f'[t]])),t≥0]
Nv[t_]:=Simplify[((Tv'[t])/(Norm[Tv'[t]])),t≥0]
Bv[t_]:=Simplify[Cross[Tv[t],Nv[t]],t≥0]

This next set calles the VectorAnalysis pack and then checks that the TNB frame is in fact orthogonal by computing the dot products.

Needs["VectorAnalysis`"]
{Simplify[DotProduct[Tv[t],Nv[t]],t≥0],
Simplify[DotProduct[Nv[t],Bv[t]],t≥0],
Simplify[DotProduct[Bv[t],Tv[t]],t≥0]}

Heres where the magic begins, This next set of functions and equations establishes what manipulate will use to plot.  p1 is the parametric plot of the function, the PlotRange option makes it dynamic so when the curve is adjusted in manipulate it adjusts the axises to include the TNB planes and arrows. I had to use the Graphics3D command to create the arrows and planes because general parametric equations brought the animation to a crawl.  Tvarrow, Nvarrow and Bvarrow are obviously the axes of the TNB frame.  I divided by 3 so they would fit on the manipulation.  TNP TBP and NBP are the planes that are written for dynamic manipulation.

p1=ParametricPlot3D[f[t],{t,a,b},PlotRange->All];
Tvarrow[t_]:=Graphics3D[Arrow[{f[t],Tv[t]/3+f[t]}]]
Nvarrow[t_]:=Graphics3D[Arrow[{f[t],Nv[t]/3+f[t]}]]
Bvarrow[t_]:=Graphics3D[Arrow[{f[t],Bv[t]/3+f[t]}]]
TNP[t_]:=Graphics3D[{Blue,Opacity[.3],Polygon[{f[t],f[t]+Tv[t]/3,f[t]+Tv[t]/3+Nv[t]/3,f[t]+Nv[t]/3}]}]
TBP[t_]:=
Graphics3D[{Red,Opacity[.3],
Polygon[{f[t],f[t]+Tv[t]/3,f[t]+Tv[t]/3+Bv[t]/3,f[t]+Bv[t]/3}]}]
NBP[t_]:=
Graphics3D[{Green,Opacity[.3],
Polygon[{f[t],f[t]+Nv[t]/3,f[t]+Nv[t]/3+Bv[t]/3,f[t]+Bv[t]/3}]}]

The actual code for the animation.  This is simple because all of the functions have already been written.  Show is used to plot all of the items on the same graph.

Manipulate[
Show[
p1,
Tvarrow[t],
Nvarrow[t],
Bvarrow[t],
TNP[t],
TBP[t],
NBP[t]
]
,{t,a,b}, SaveDefinitions->True]

DynamicModule[{t=4.8125`},Show[p1,Tvarrow[t],Nvarrow[t],Bvarrow[t],TNP[t],TBP[t],NBP[t]]]

Created by Scott Taylor for Dr. Cook's Advanced Calculus Class, Spring 2010.