1
$\begingroup$

Given two points laying on the surface of a cylinder, is there a simple equation for the arclength of the geodesic that connects those two points?

In my use case, the cylinder is oriented axially coincident with the x axis. I have two points for which I know their (x,y,z) locations, and I understand that I can convert these coordinates to cylindrical coordinates by the transformation x=x, y=rcos(theta), z=rsin(theta). Beyond that, I am not sure is there is a simple equation for calculating the geodesic length of between these two points without "unrolling" the cylinder into a plane and using the distance formula.

Can someone confirm for me if it is simply: L=SQRT(r^2θ^2+x^2), where x ix the axial distance which separates the points in my example? Is it this easy?

Thank you.

$\endgroup$
  • $\begingroup$ Peel the skin off the the cylinder and unroll it. Now you have a rectangle. So yes, the square root of the sum of the squares of the shorter lateral distance and vertical distances. $\endgroup$ – Doug M Jan 11 at 21:38
1
$\begingroup$

Geodesic of cylinders are known to be

  • 1) either helixical arcs (the shortest helixical arc connecting the two points).

  • 2) or vertical segments

Let us consider case 1). When the cylinder, as a ruled surface is unrolled isometrically :

  • the ordinates of the points stay the same, whereas

  • abscissas are measured by the unrolling of arc lengthes $r \theta$.

The geodesic (piece of an helix) is mapped isometrically onto the geodesic of the plane which is the line segment connecting points $(x_1=r \theta_1,y_1)$ and $(x_2=r \theta_2,y_2)$.

Its arc length is thus :

$$\sqrt{(r(\theta_2-\theta_1))^2+(y_2-y_1)^2} \tag{1}$$

(almost as you, @user1998586, gave it ; why didn't you modify your answer instead of erasing it ?).

In the exceptional case where the geodesic is a vertical segment (corresponding to the case where the two points are on a same vertical line), happily, the isometrical mapping works the same : formula (1) is still valid with $\theta_2=\theta_1$ under the simplified form $$|y_1-y_2|$$

$\endgroup$
  • $\begingroup$ Thank you @Jean Marie, this looks like exactly what I need. Two questions: in your equation (1), should the "r" term be squared? Additionally, how do I modify this equation to fit my stipulation that the cylinder is oriented along the x-axis? $\endgroup$ – kreeser1 Jan 11 at 21:30
  • $\begingroup$ Question 1) Yes, the r term has to be squared (I correct it at once). $\endgroup$ – Jean Marie Jan 11 at 21:33
  • $\begingroup$ Question 2) : what do you mean exactly by "oriented along the x-axis" ? $\endgroup$ – Jean Marie Jan 11 at 21:34
  • $\begingroup$ Maybe you mean that the first point has coordinates $(x=0,y=r)$ meaning you start with a $\theta=\pi/2$ angle, then you proceed in a clockwise manner to point $(x=r,y=0)$ reaching $\theta=0$ ? $\endgroup$ – Jean Marie Jan 11 at 21:39
  • 1
    $\begingroup$ @JeanMarie the reason I deleted my original answer was because on re-reading the question, I interpreted the wording 'without "unrolling" the cylinder' in the question to be asking for a formula using Euclidean not polar co-ordinates. $\endgroup$ – user1998586 Jan 12 at 7:39
1
$\begingroup$

You can "hide" the unrolling by using trig functions to convert chord-length to arc length.

A chord of length $l$ on a circle of radius $r$ gives an arc-length of $2 r \arcsin \frac{l}{2r}$

Given points on the cylinder with $\Delta x = x_2 - x_1$, $\Delta y = y_2 - y_1$, $\Delta z = z_2 - z_1$ we then get the geodesic length: $$ \sqrt{(\Delta x)^2 + 4r^2 \arcsin^2 \left(\frac{1}{2r}\sqrt{(\Delta y)^2 + (\Delta z)^2}\right)} $$

$\endgroup$
  • $\begingroup$ Thank you for your input. It seems like there must be a more concise equation if we were to convert the Cartesian coordinates to cylindrical coordinates, and fix r to a constant such that the two points lie on the coordinate surface r=C, and the two points are then only defined by their theta and x coordinate. Is this logic reasonable? $\endgroup$ – kreeser1 Jan 11 at 20:15

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.