14_3_glr09_unit_vectors2.mw

> with(plottools):
with(plots):
with(linalg):
 

Let's look at the vector function 

> r := t -> [2*cos(3*t), t^2, 2*t];
 

proc (t) options operator, arrow; [`+`(`*`(2, `*`(cos(`+`(`*`(3, `*`(t))))))), `*`(`^`(t, 2)), `+`(`*`(2, `*`(t)))] end proc (1)
 

This describes the space curve 

> sc := spacecurve(r(t), t=0..2,color=red,thickness=2,axes=boxed,labels=[x,y,z],scaling=constrained):
sc;
 

Plot_2d
 

The derivative is a tangent vector to this 

> rp := s -> eval(diff(r(t),t),{t=s}):
 

and the unit tangentn is this normalized 

> ut := u -> eval(normalize(rp(t)),{t=u}):
 

This is tangent to any point on r, and its derivative gives the primary normal to the curve: 

> utp := v -> eval(map(diff,ut(t),t),{t=v}):
un := w -> eval(normalize(utp(t)),{t=w}):
 

> tplot := i -> display3d(sc,arrow(r(i*.05),ut(i*.05),thickness=3,color=blue),arrow(r(i*.05),un(i*.05),thickness=3,color="Magenta")):
 

> display3d([sc, seq(tplot(i),i=1..40)],insequence=true,scaling=constrained);
 

Plot_2d
 

The unit tangent, however, also defines a space curve, if we think of it as a position vector pointing from the origin to the point ut(t): 

> usc := spacecurve(ut(t),t=0..1,axes=boxed,color=red,thickness=2,labels=[x,y,z]):
usc;
 

Plot_2d
 

We know that the derivative of this vector function is the tangent to this curve: ut'(t) is tangent to the spacecurve given by ut(t).  And we know that ut'(t) is perpendicular to the original.  for example, at t=0.1, 

> display3d(usc, arrow(ut(.1),un(.1),color=blue));
 

Plot_2d