Reparameterize a curve in terms of its arclength

This notebook shows how to use Mathematica to help you reparameterize a curve in terms of the arc length. 

The curve we are interested in is the curve in two dimensional space given as a vector function by:

r[t_] = { (2/(t^2+1)-1),2t/(t^2+1)}

This vector function is parameterized by the parameter t. We will need the magnitude of the derivative to calculate arclength. The derivative is given by:

Simplify[D[r[t],t]]

Actually, the line above is not needed if we want to calculate arc length. But since we are learning the techniques, we should be including all quantities that we we would use if we did the problem by hand. In fact, we can set up the integral we need to solve directly, by taking the square root of the dot product of the derivative of the vector function with itself:

ds =  Sqrt[r'[t].r'[t]]

To simplify this, we need to tell Mathematica that t is a real number (remove that assumption, and see what you get!):

ds =Simplify[ds, t ∈ Reals ]

Now we can integrate to get the arc length from the point when t=0 to the point t=t. Notice that I have mixed my labels; that is, I am using a dummy index for my integration that is the same as the functional dependence of the arc length! That is not very good notation!

eq = s ==  Integrate[ds,{t,0,t}]

Once we have the arc length, we try to solve for t(s):

Solve[eq,t]

Success! Now we assign the variable t(s), and substitute back into the original vector function to get a parameterzation based on the arc length. Mathematica is able to do all the messy trig simplifications for us, so we can concentrate on other things.

t[s_] = First[t /. %]

newr[s_] = Simplify[r[t[s]]]

One of the other things we should be concentrating on is that the new parametrrization is obviously that of the unit circle. Another thing we should be concentrating on is the domain of the function, or what values s can take. Remember, we found the arc length function to be

eq

and that t(s) is therefore:

t[s]

Plot[t[s],{s,0,2Pi}]

So s=π is undefined for our transformation. This means that the point

newr[Pi]

is NOT included in the graph. The curve approached this point, but DOES NOT include it. We see that this is not an artifact from our transformation, it is inluded in the original parameterization of r(t).

Solve[2/(t^2+1) - 1 == -1,t]

We could also see this by plotting the x-coordinate of the original parameterization, and seeing what values it takes:

Plot[2/(t^2+1) - 1,{t,-10,10}]

See, we approach the x value -1, but we never reach it. Now that is interesting.