Another service from Omega

Arc Length and Curvature of Plane Curves


*****

Definition

A space curve is said to be a plane curve, if it is completly contained in a plane. By choosing the coordinate system with i and j on the plane of the curve we can always simplify its parametrization to the form:
r(t) = x(t) i + y(t) j
Formulas simplify even further when the plane curve is the graph of the function
y = f(x)
Let us deduce the expressions for arc length and curvature in this last case. First some useful notation,

> alias(v=vector):i:=v([1,0,0]):j:=v([0,1,0]):k:=v([0,0,1]):
> len := proc(u) sqrt(innerprod(evalm(u),evalm(u))); end:

The arc length from x=a to x=b is,

> L := Int( len( diff( x*i + f(x)*j, x) ), x=a..b );

                              b
                              /
                             |  /    /  d      \2\1/2
                       L :=  |  |1 + |---- f(x)| |    dx
                             |  \    \ dx      / /
                            /
                            a

In order to deduce the formula for the curvature at x, we need first the unit tangent vector at x,

> Dr := diff(x*i + f(x)*j, x); T := Dr / len( Dr );

                                      /  d      \
                            Dr := i + |---- f(x)| j
                                      \ dx      /

                                      /  d      \
                                  i + |---- f(x)| j
                                      \ dx      /
                           T := ---------------------
                                /    /  d      \2\1/2
                                |1 + |---- f(x)| |
                                \    \ dx      / /

The formula for the curvature is then,

> K := len( diff(T,x) ) / len( Dr );

                              /   /   2      \2   \1/2
                              |   |  d       |    |
                              |   |----- f(x)|    |
                              |   |   2      |    |
                              |   \ dx       /    |
                              |-------------------|
                              |/    /  d      \2\2|
                              ||1 + |---- f(x)| | |
                              \\    \ dx      / / /
                         K := ------------------------
                                /    /  d      \2\1/2
                                |1 + |---- f(x)| |
                                \    \ dx      / /

To help maple simplify the denominators we do,

> K := sqrt( simplify(K^2) );

                              /   /   2      \2   \1/2
                              |   |  d       |    |
                              |   |----- f(x)|    |
                              |   |   2      |    |
                              |   \ dx       /    |
                         K := |-------------------|
                              |/    /  d      \2\3|
                              ||1 + |---- f(x)| | |
                              \\    \ dx      / / /

Another way to write the same thing is
K = | f"(x) | / ( 1 + [f'(x)]^2 )^(3/2)

For example the curvature of the parabola y = x^2 at the points (0,0) and (1,1) can be easily computed with:

> f := x -> x^2;

                                             2
                                  f := x -> x
> k := unapply(K,x);
                                   1/2 /     1     \1/2
                        k := x -> 4    |-----------|
                                       |        2 3|
                                       \(1 + 4 x ) /
> k0 := simplify(k(0)); k1 := simplify(k(1));
                                    k0 := 2

                                            1/2
                                k1 := 2/25 5

the curvature at x=y=1 is then about,

> k1f := evalf(k1,2);

                                   k1f := .18

Notice that,

> Limit(k(x),x=infinity) = limit(k(x),x=infinity);

                                   1/2 /     1     \1/2
                    Limit         4    |-----------|    = 0
                    x -> infinity      |        2 3|
                                       \(1 + 4 x ) /

This agrees with the fact that the parabola gets straighter and straighter (curvature = 0) as x gets larger.


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