davideberly / GeometricTools

A collection of source code for computing in the fields of mathematics, geometry, graphics, image analysis and physics.
Boost Software License 1.0
1.08k stars 202 forks source link

Question about MovingAlongCurveSpecifiedSpeed integral equation 5 on page 3 #68

Closed atship closed 11 months ago

atship commented 11 months ago

Hi, I read the paper https://www.geometrictools.com/Documentation/MovingAlongCurveSpecifiedSpeed.pdf and I get confused at the integral equation $g(t) = \int_{tmin}^{t}|\frac{dY(\tau)}{dt}|d\tau$ I asked the integral equation on quora and they said this equation is wrong or not make sense etc. my question is why function Y is expected to $\tau$ but derivative with dt? Would you point me to the right way? Thank you in advance.

davideberly commented 11 months ago

The variable t appears in the upper limit of integration. If I were to use the same t in the integrand, that t is a name conflict with the upper limit. Abstractly, if you write $g(t) = \int{tmin}^{t} f(t) dt$, t acts as the variable of integration and the upper limit of integration. It is typical that a different variable name be used for the integrand: $g(t) = \int{tmin}^{t} f(\tau) d\tau$.

atship commented 11 months ago

Thank you for your reply. If I am not misunderstanding, the origin integration equation would rewrite as $\int_{tmin}^{t}|\frac{dY(x)}{dx}|dx$ right? I was confused by the $dt$ in the integrand but $d\tau$ in the integration variable

davideberly commented 11 months ago

Your rewrite is correct. I am revising the document to avoid the confusion. The derivative of Y has 2 names, dY/dt and Y’. The fact that t occurs in the first name is the issue for you. The rewrite uses the second name. I am also revising the pseudocode because, in practice, Newton’s iterates can occur in a cycle. When it does, the maximum number of iterations will occur, but the first revisited iterate will suffice.

atship commented 11 months ago

My confusion is resolved. Thank you, sir.

davideberly commented 11 months ago

I posted a revised document Moving Along a Curve with Specified Speed. Source code that illustrates is in a new header file ReparameterizeByArclength.h.