Another service from Omega

Unit tangent, unit Normal


*****

Consider a vector curve f. The derivative of f at t points in the direction of the tangent line of the curve at f(t). For example, consider the following curve:

> f := t -> t^2*i + (1-t)^2*j + t^3*k;

                                  2            2      3
                       f := t -> t  i + (1 - t)  j + t  k

The equation of the tangent line at t=s is given by,

> Dfs := D(f)(s); L := t -> f(s) + t*Dfs;

                                                      2
                      Dfs := 2 s i - 2 (1 - s) j + 3 s  k

                             L := t -> f(s) + t Dfs

A picture of the curve together with the tangent lines at, t=0, and t=1 is given by,

> with(plots):
> C := spacecurve(evalm(f(t)),t=-2..2): s:=0;

                                     s := 0
> L0:= spacecurve(evalm(L(t)), t=-2..2,color=GREEN): s:=1;
                                     s := 1
> L1 := spacecurve(evalm(L(t)),t=-2..2,color=GREEN):
> display3d({C,L0,L1},orientation=[-112,45],axes=framed,scaling=constrained);
picture a picture here
> len := proc(u) sqrt(innerprod(evalm(u),evalm(u))); end;
len := proc(u) sqrt(innerprod(evalm(u),evalm(u))) end

The unit tangent vector to a curve at t=s is denoted by T(s). We have,

> T := s -> D(f)(s)/len(D(f)(s));

                                          D(f)(s)
                             T := s -> ------------
                                       len(D(f)(s))

As we can see the derivative of T(s) is always orthogonal to T(s) itself,since T(s) has constant length of 1. The principal unit normal is defined by,

> Ns := collect(diff(T(s),s)/len(diff(T(s),s)),[i,j,k]);

                   /                        3   \
                   |  2     (16 s - 8 + 36 s ) s|  1/2
                   |----- - --------------------| 2    i
                   |  1/2             3/2       |
                   \%1              %1          /
         Ns := 1/4 -------------------------------------
                       /   4       3       2    \1/2
                       |9 s  - 18 s  + 18 s  + 2|
                       |------------------------|
                       |             2          |
                       \           %1           /

                    /                            3             \
                    |  2         (16 s - 8 + 36 s ) (- 2 + 2 s)|  1/2
                    |----- - 1/2 ------------------------------| 2    j
                    |  1/2                      3/2            |
                    \%1                       %1               /
              + 1/4 ---------------------------------------------------
                               /   4       3       2    \1/2
                               |9 s  - 18 s  + 18 s  + 2|
                               |------------------------|
                               |             2          |
                               \           %1           /

                    /                              3   2\
                    |    s         (16 s - 8 + 36 s ) s |  1/2
                    |6 ----- - 3/2 ---------------------| 2    k
                    |    1/2                 3/2        |
                    \  %1                  %1           /
              + 1/4 --------------------------------------------
                            /   4       3       2    \1/2
                            |9 s  - 18 s  + 18 s  + 2|
                            |------------------------|
                            |             2          |
                            \           %1           /

                               2                4
%1 :=                       8 s  + 4 - 8 s + 9 s

This is just the derivative of T at s over its length. For example at s=0 and s=1 we have,

> N := unapply(Ns,s): T(0), simplify(N(0));

                                     - j, i

Clearly perpendicular to each other. And,

> T(1), simplify(N(1));

                   1/2
1/13 (2 i + 3 k) 13   ,

          1/2  1/2   1/2            1/2  1/2   1/2             1/2  1/2   1/2
- 9/286 13    2    11    i + 1/22 13    2    11    j + 3/143 13    2    11    k

Not so clear this time , but,

> innerprod(T(1),N(1));

                                       0

In fact:

> innerprod(T(s),N(s));

                                       0

Link to the commands in this file
Carlos Rodriguez <carlos@math.albany.edu>
Last modified: Wed Oct 23 14:03:27 EDT 1996