Chapter 7 - A Few Advanced Vector Algebra Topics

Section 7.3 - The TNB Frame

Example 7.3.1

X=Cos[3 t];Y=Sin[2 t];Z=Cos[2 t];

DX=D[X,t];DY=D[Y,t];DZ=D[Z,t];

D2X=D[DX,t];D2Y=D[DY,t];D2Z=D[DZ,t];

PositionV={X,Y,Z};

DPositionV=D[PositionV,t];

TangentV=DPositionV/Sqrt[((DPositionV[[1]])^2)+((DPositionV[[2]])^2)+((DPositionV[[3]])^2)];

DTangentV=D[TangentV,t];

NormalV=DTangentV/Sqrt[((DTangentV[[1]])^2)+((DTangentV[[2]])^2)+((DTangentV[[3]])^2)];

BiNormalV=Cross[TangentV,NormalV];

κ=Sqrt[(((DY D2Z-D2Y DZ))^2)+(((DX D2Z-D2X DZ))^2)+(((DX D2Y-D2X DY))^2)]/(((((DX^2)+(DY^2)+(DZ^2)) )^(3/2)));

Plot[κ,{t,0,2π}]

N[Evaluate[(NormalV.TangentV)/.t->2]]

N[Evaluate[(NormalV.BiNormalV)/.t->2]]

N[Evaluate[(TangentV.BiNormalV)/.t->2]]

SpaceCurve=ParametricPlot3D[PositionV,{t,0,2 Pi},PlotStyle->{Thickness[0.008],Black}];

TNBPlots=Graphics3D[{Arrowheads[.07],Thickness[.015],Red,Arrow[{N[PositionV/.t->2],N[(PositionV+TangentV)/.t->2]}],Yellow,Arrow[{N[PositionV/.t->2],N[(PositionV+NormalV)/.t->2]}],Blue,Arrow[{N[PositionV/.t->2],N[(PositionV+BiNormalV)/.t->2]}]}];

Show[SpaceCurve,TNBPlots,PlotRange->{{-1.5,1.5},{-1.5,1.5},{-1.5,1.5}}]

Manipulate[PositionVal=N[PositionV/.{t->tval}];
TangentVal=N[TangentV/.{t->tval}];
NormalVal=N[NormalV/.{t->tval}];
BiNormalVal=N[BiNormalV/.{t->tval}];
ArrowPlots=Graphics3D[{Arrowheads[.07],Thickness[.015],Red,Arrow[{PositionVal,PositionVal+TangentVal}],Yellow,Arrow[{PositionVal,PositionVal+NormalVal}],Blue,Arrow[{PositionVal,PositionVal+BiNormalVal}]}];
Show[SpaceCurve,ArrowPlots,PlotRange->{{-2,2},{-2,2},{-2,2}},Axes->True,ViewPoint->{-3,6,3}],{{tval,0,"t"},0,2π,π/12}]