Lengths of curves


By Rolando Martinez on Monday, November 11, 2002 - 02:51 pm:

Hi. I need to find a point on a curve. Let's say it's a sine. I have a beginning point on this curve, point A, as well as a length, I called it L. I need to find the point (P) I would get after traveling the the length L along the curve, starting from A.

That is to say, if we take the length integral from A to point P then we get L.

Please help.


By Julian Pulman on Monday, November 11, 2002 - 03:40 pm:
The answer to this question depends really on the curve you want to measure along, for reasons I shall explain in due course it may be impossible by analytical means to derive an exact ansewr, but you can always find one using iterative methods.

Consider a small length of the curve, ds, then by Pythagoras ds2 = dx2 + dy2

Rearrange this to give
ds dx =1+ ( dy dx )2


s= a b 1+ ( dy dx )2 dx

s will be the length along the curve, since we are summing each small length element w.r.t. x.

We require that the we can find a closed form of the integral since we need a closed form function in terms of p so that we can solve this to find p.

If we call the integral f(x), then:

f(p)=s+f(a)

We already know s and f(a) by your starting conditions hence we only require that we can analytically find f-1 (x), that is, the inverse function, such that p= f-1 (s+f(a))

If f is something simple like x2 , then f-1 (y)= y1/2 and we can find p relatively easily.

In your example, we have f(x)= a p (1- cos2 x )1/2 dx= a p sinxdx=-cosp+cosa

So, p= cos-1 [cosa-s]

If f(x) is something like cosx+x then you'll find it very hard to solve this analytically - you can use the Newton-Raphson method or another iteration method to find the intersection of the line y=s-cosa-a-x and y=cosx, the answer will be p... If you'd like me to explain how to do such iterative methods to find p then just say and I'll write up the general idea.

I apologise if I covered anything too fast, I'm in a bit of a rush at the moment.

If there's anything you want me to reexplain then don't hesitate to reply.

Julian



By Rolando Martinez on Monday, November 11, 2002 - 07:15 pm:

Thank you. I believe you have solved my problem.