The Tangent Vector and Space Curve

An Example

Background Mathematica Stuff

Needs["VisualLA`"]

Off[ParametricPlot3D::"ppcom"];
Off[General::"spell1"];
Off[Power::"infy"];
Off[∞::"indet"];
Off[ParametricPlot3D::"pplr"];
Off[ParametricPlot3D::"ppx"];
Off[Show::"gcomb"]

The Vectors and Required Functions.

The Position Vector

The Parabola

The Helix

r[t_] = {Cos[t], Sin[t], t}; 
    WINDOW = {{-2, 2}, {-2, 2}, {-1, 4  π + 1}}; 
    tRange = {t, 0, 4  π, 0.2}; xMin = 0;

The Sin(x) Curve.

A Trefoil Knot

The Derivative Vector and Norm of the Derivative Vector

rprime[t_] = D[r[t], t];
normrprime[t_] = (Sqrt[Simplify])[rprime[t] . rprime[t]];

The Secant Vector

secvec[t0_, t_] := r[t] - r[t0];

The Tangent Vector

tanvec[t_] = rprime[t]/normrprime[t];
normtanvec[
          t_] = (Sqrt[tanvec[t] . tanvec[t]]);
tanvecprime[t_] = D[tanvec[t], t];
normtanvecprime[
          t_] = (Sqrt[tanvecprime[t] . tanvecprime[t]]);

Graphing Functions

PosVec[t_] := 
        DrawVector3D[r[t], HeadLength -> 0.05, PlotRange -> WINDOW, 
          Ticks -> False, 
          DisplayFunction -> Identity];
SecVec[t0_, t_] := 
        DrawVector3D[{{r[t0], r[t0] + secvec[t0, t]}}, 
          HeadLength -> 0.05, PlotRange -> WINDOW, 
          Ticks -> False, 
          DisplayFunction -> Identity];
LimitSecVec[t0_, t_, h_] := 
        DrawVector3D[{{r[t0], r[t0] + (1/h) secvec[t0, t]}}, 
          HeadLength -> 0.05, PlotRange -> WINDOW, 
          Ticks -> False, 
          DisplayFunction -> Identity];
TanVec[t_] := 
        DrawVector3D[{{r[t], r[t] + tanvec[t]}}, HeadLength -> 0.05, 
          PlotRange -> WINDOW, Ticks -> False, 
          DisplayFunction -> Identity];
SpaceCurve[t_] := 
        ParametricPlot3D[r[s], {s, xMin - 0.1, t}, 
          DisplayFunction -> Identity];

The Position Vector

Table[Show[{PosVec[t]}, DisplayFunction -> $DisplayFunction], 
        Evaluate[tRange]];

The Position Vector and Space Curve

Table[
        Show[{ParametricPlot3D[r[s], {s, - .01, t}, 
              PlotRange -> WINDOW, Ticks -> False, 
              DisplayFunction -> Identity], PosVec[t]}, 
          DisplayFunction -> $DisplayFunction, 
          ViewPoint -> {2.607, Sin[((-t)/8)],  3.000 + Sin[(t/8)]}, 
          AspectRatio -> 1], Evaluate[tRange]];

The Space Curve

Table[
        Show[{ParametricPlot3D[r[s], {s, - .01, t}, 
              PlotRange -> WINDOW, Ticks -> False, 
              DisplayFunction -> Identity]}, 
          DisplayFunction -> $DisplayFunction, 
          ViewPoint -> {2.607, Sin[((-t)/8)],  3.000 + Sin[(t/8)]}, 
          AspectRatio -> 1], Evaluate[tRange]];

The Space Curve and Secant Vector

t0 = 
        1;   
tMax = 
        6;   
Δt = 0.1;
Table[
        Show[{ParametricPlot3D[r[s], {s, - .01, tMax}, 
              PlotRange -> WINDOW, Ticks -> False, 
              DisplayFunction -> Identity], SecVec[t0, tMax - t + t0]}, 
          DisplayFunction -> $DisplayFunction, 
          ViewPoint -> {t - 6, -2.4,  3 + (t/20)}], {t, t0, 
          tMax, Δt}];

The Space Curve, Secant, and the Limit of the Secant Vector

t0 = 
        1;   
tMax = 
        6;   
Δt = 0.1;
Table[
        Show[{ParametricPlot3D[r[s], {s, - .01, tMax}, 
              PlotRange -> WINDOW, Ticks -> False, 
              DisplayFunction -> Identity], SecVec[t0, tMax - t + t0], 
            LimitSecVec[t0, tMax - t + t0, tMax - t + t0]}, 
          DisplayFunction -> $DisplayFunction, 
          ViewPoint -> {t - 6, -2.4,  3 + (t/20)}], {t, t0, 
          tMax, Δt}];

The Position and Tangent Vectors

Table[
        Show[{PosVec[t], TanVec[t]}, 
          DisplayFunction -> $DisplayFunction, 
          ViewPoint -> {2.607, Sin[((-t)/8)],  3.000 + Sin[(t/8)]}, 
          AspectRatio -> 1], Evaluate[tRange]];

The Position and Tangent Vectors along with the Space Curve

Table[
        Show[{ParametricPlot3D[r[s], {s, - .01, t}, 
              PlotRange -> WINDOW, Ticks -> False, 
              DisplayFunction -> Identity], PosVec[t], TanVec[t]}, 
          DisplayFunction -> $DisplayFunction, 
          ViewPoint -> {2.607, Sin[((-t)/8)],  3.000 + Sin[(t/8)]}, 
          AspectRatio -> 1], Evaluate[tRange]];