Divide a parabola in segments of equal length

calculusdifferential-geometry

I have a parabola defined as:
$$ y = \frac{4H}{L^2}x(L-x)$$
which corresponds to an arch with $x\in[0,L]$ and $y\in[0,H]$.

I'm trying to divide this parabola in N segments of equal length. My thought was to compute the function $x(s)$, which is the $x$ value of the point in the parabola at an arc-length of s from the start of the parabola at $x=0$. And then simply have a uniform spacing of values of $s$ and get the corresponding values of $x$ and $y$.

The inverse function $s(x)$ can be computed by noting that:
$$s(x)=\int_0^x\sqrt{1+\left(\frac{dy}{dx}\right)^2}dx$$
where $\frac{dy}{dx}=\frac{4H}{L^2}(L-2x)$. However, this results in a complicated function that I cannot invert.

Is there another way to obtain an even division of the parabola? An analytical solution would be ideal, but a numerical solution would also be acceptable.

Best Answer

If we flip your parabola over and shift it to the left $$x' = x -\frac L2\\y' = H - y$$ your parabola becomes $$y' = \frac {4H}{L^2}x'^2$$. Since the transformation is rigid, we haven't changes the arclengths. Now the base of your parabola was at $(0,0)$ and $(L,0)$. These points have moved to $\left(\pm\frac L2, H\right)$. If we let $a = \frac{4H}{L^2}$ then we can use this calculation to obtain

$$s = \frac 1{4a}\left(2ax'\sqrt{4a^2x'^2 + 1} + \sinh^{-1} 2ax'\right)$$ for the arclength $s$ from the apex to the point $(x', y')$. Letting $x' = \frac L2$, we get the full arclength on one side to be $$S = \sqrt{H^2 + \frac{L^2}{16}} + \frac {L^2}{16H}\sinh^{-1}\frac{4H}L$$ Now you want to divide the full length of this parabola into $N$ parts. If $N$ is even, then set $d = \frac {2S}N$, and find the points that are a distance $kd$ away from the apex on the curve for $1 \le k < \frac N2$. If $N$ is odd, let $d = \frac SN$, and find the points that are a distance $(2k - 1)d$ from the apex on the curve, for $1 \le k <\frac N4$.

There is no nice closed form for the inverse of $s$, so you will need to use numerical methods to find the $x'$ values. Newton's Method should work fine, though the derivative is not nice.