How to determine the point at a set length along a given function (parabola)?

207 Views Asked by At

Given a specific function, a parabola in this instance, I can calculate the length of a segment using integrals to sum infinite right angled triangles hypotenuse lengths. My question is, can I reverse the process? If this question has an obvious answer please forgive me as I have just started studying integrals. I am simply curious as to if I'm given a function, and told that a certain point is a set distance along it's length from a known point, can I find the coordinates of the point?

2

There are 2 best solutions below

2
On BEST ANSWER

Filling in some of the unpleasant details hidden behind the Shabbeh hint.

For simplicity, let's use the "standard" parabola $y = x^2$.

The arclength $s(t)$ between the points $(0,0)$ and $(t,t^2)$ is given by $$ s(t) = \int_0^t \sqrt{ 1 + \left(\frac{dy}{dx}\right)^2} dx \\ = \int_0^t \sqrt{ 1 + 4x^2} dx \\ = \frac{1}{4}\left(2t \sqrt{ 1 + 4t^2} + \sinh^{-1}(2t)\right) $$ To find the integral in the last step, I used Wolfram Alpha. It's much better at this sort of thing than I am. So, if you want a point at an arclength $k$ from $(0,0)$, you have to find the value of $t$ that gives $s(t) = k$. In other words, given $k$, you have to solve the equation $$ \frac{1}{4}\left(2t \sqrt{ 1 + 4t^2} + \sinh^{-1}(2t)\right) = k $$ This is pretty nasty, and you'll almost certainly need to use a numerical solver to do this. The good thing, though, is that $s(t)$ is a nice smooth monotonically increasing function of $t$, so even a very crude numerical solver should work quickly and reliably. For an introduction to numerical root-finding, you can start here.

See also this question.

3
On

This is the problem of finding an arc-length parametrization of a curve. While this can always be done in theory and is a great tool in several proofs regarding parametric curves, it is rarely possible to find a closed form solution.

The general method is:

  1. Describe your curve by $\vec{r}(t)$, for $a \leq t \leq b$.
  2. Find $\vec{r}\,'(t) = \frac{d}{dt}\vec{r}(t)$
  3. Create the function $s(t) = \int_{a}^{t} |\vec{r}\,'(u)| \, du$, which will give you the arclength from $a \leq u \leq t$
  4. Once you have $s(t)$, find the inverse function $t(s)$, with something like the inverse function theorem. The inverse will always exist for an appropriate parametrization $r(t)$, since $s(t)$ can be always increasing and positive.
  5. Once you have $s(t)$, just use $\vec{r}(t(s))$ to get the position given the arc-length $s$.

The problem, of course, is that steps 2, 3 and 4 are generally hard to do analytically.

However, using a computer this can be done by simply making a table of arc-length $s$ per parameter $t$, and then reading it backwards, with some interpolation if necessary. So the problem is very simple numerically and, in principle, well behaved for general smooth curves. It's just the closed form part that's hard.