Helix with Normal and Osculating Planes

Define parametric equations for the helix r(t) = (2sin(3t), t, 2cos(3t)).

r[t_]:={2*Sin[3*t],t,2*Cos[3*t]};

Define parametric equations for tangent vector T(t) to curve r(t):

tanvec[t_]:={6*Cos[3*t],1,-6*Sin[3*t]};

Identify a parameter value to fix a point on the helix.  Here we choose t = 1 so that r(1) = (2sin(3), 1, 2cos(3)) = (.28224, 1, -1.97998).

tzero=1;

State equation of normal plane.

f[x_,y_]:=(r[tzero].tanvec[tzero]-tanvec[tzero][[1]]*x-tanvec[tzero][[2]]*y)/tanvec[tzero][[3]];

Plot normal plane in yellow:

NormPlanePlot=Plot3D[f[x,y],{x,r[tzero][[1]]-1/4,r[tzero][[1]]+1/4},{y,r[tzero][[2]]-1,r[tzero][[2]]+1}, PlotStyle->Yellow, AxesLabel->{"X","Y","Z"}, PlotLabel->"A piece of the normal plane", PlotRange->{Full,Full,{-3,-1}}, ClippingStyle->None]

Plot in blue portion of the helix near the point (2sin(3), 1, 2cos(3)):

CurvePlot = ParametricPlot3D[r[t],{t,tzero-2,tzero+2},PlotStyle->{Thick,Blue}, AxesLabel->{"X","Y","Z"}, PlotLabel->"A Piece Of The Helix"]

Plot normal plane and helix on the same graph:

Show[NormPlanePlot,CurvePlot,PlotRange->All, BoxRatios->Automatic, AxesLabel->{"X","Y","Z"}, PlotLabel->"The Normal Plane & Helix"]

Define parametric equations for tangent vector T(t) to curve r(t):

binormvec[t_]:={-Cos[3*t],6,Sin[3*t]};

State equation of osculating plane.

fosc[x_,y_]:=(r[tzero].binormvec[tzero]-binormvec[tzero][[1]]*x-binormvec[tzero][[2]]*y)/binormvec[tzero][[3]];

Plot normal plane in green:

OscPlanePlot=Plot3D[fosc[x,y],{x,r[tzero][[1]]-1/2,r[tzero][[1]]+1/2},{y,r[tzero][[2]]-1/2,r[tzero][[2]]+1/2}, PlotStyle->Green, AxesLabel->{"X","Y","Z"}, PlotLabel->"A piece of the normal plane", PlotRange->{Full,Full,{-3,-1}}, ClippingStyle->None]

Plot osculating plane and helix on the same graph:

Show[OscPlanePlot,CurvePlot,PlotRange->All, BoxRatios->Automatic, AxesLabel->{"X","Y","Z"}, PlotLabel->"The Osculating Plane & Helix"]

Plot normal and osculating plane with helix on the same graph:

Show[NormPlanePlot,OscPlanePlot,CurvePlot,PlotRange->All, BoxRatios->Automatic, AxesLabel->{"X","Y","Z"}, PlotLabel->"The Normal and Osculating Planes & Helix"]