Angle of rotation between two points on cylindrical helix

rotationstrigonometry

Schematic drawing of the problem
enter image description here

I would like to calculate the angle of rotation $\theta$ between two points $A$ and $B$, positioned on the termini of a helix wrapping around a cylinder of known diameter $2r$ and length $L$ in a counter-clockwise manner. The angle $\alpha$, i.e. the acute angle between the vertical axis of the cylinder and the slope of the helix, is the only other parameter known. How would you calculate the angle $\theta$? Please see the attached image. The coordinates of $A$ and $B$ are not known; any point (here $B$) at the top of the cylinder rotates with angle $\theta$ respective to a point (here $A$) at the bottom. My goal is to find the resulting $\theta$ only knowing $L$, $r$, and $\alpha$.

Note that $\theta$ can be larger than $360^\circ$ if the helix has more than one revolution on the cylinder. As an example, consider the following values:

$\begin{align}\qquad
\alpha &= 0.3^\circ \\
L &= 1.5 \\
r &= 0.2
\end{align}$

I tried to get an answer by using basic trigonometry, but I'm missing the helical aspect of the rotation I think. To calculate $\theta$, I assumed that it was basically the angle of an isoceles triangle with two sides $r$ and one side $\tan(\alpha) \cdot L$ (because the chord between $A$ and the projection of $B$ is the opposite side of a right-angled triangle denoted by $\tan(\alpha) \cdot L$). Since the resulting triangle is not right-angled, I split it in two and calculated half $\theta$ with

$$\sin(\frac{\theta}{2}) = \frac{1}{2}\tan(\alpha)\cdot\frac{L}{r}$$
such that $\frac{\theta}{2} = \sin^{-1}(\frac{1}{2}\tan(\alpha)\cdot\frac{L}{r})$ and therefore
$$\theta = 2\cdot\sin^{-1}\left(\tan(\alpha)\cdot\frac{L}{2r}\right)$$

Solving this equation for my example yields $2\cdot \sin^{-1}(\tan(0.3)\frac{1.5}{2\cdot 0.2}) = 2.25^\circ$, which seems feasible. However, my equation breaks down when $\theta$ is greater than $180^\circ$ — because there is no triangle anymore — and it certainly cannot deal with more than one revolution ($>360^\circ$). I have trouble finding the right equations to deal with this problem.

By chance, I stumbled upon an equation for helix torsion $$w = \frac{k}{r \cdot (1+k^2)}$$ on https://www.redcrab-software.com/en/Calculator/Helix, in which $w$ is the torsion, $k$ is the helix slope, and $r$ is the radius. It gives similar results to my own equation at small values of $\alpha$ when I multiply the answer by $L$ and use radians instead of degrees, before converting back to degrees: $\frac{0.3\cdot\frac{\pi}{180}}{0.2\cdot(1+(0.3\cdot\frac{\pi}{180})^2)}\cdot1.5\cdot\frac{180}{\pi} = 2.25^\circ$. It also seems to be able to deal with $\theta > 180^\circ$. I do not understand how it works, however, nor how it was derived. Is this even the right equation? I cannot find it anywhere else on the internet. Could anyone help me solve my problem?

Best Answer

Unrolling the outer surface on a flat plane yields a right-angled triangle with points $A$, $B$ and $B'$, where $B'$ is the projection of $B$ to the base circle.

  • $B'B$ is the height of the triangle which has length $L$.

  • The base $AB'$ of the triangle has length $r\theta$, where $\theta=\theta_B - \theta_A$ is the angle of rotation from $A$ to $B$ (which is the same as rotating $A$ to $B'$). $\theta$ is in radians here.

  • The hypotenuse $h$ of the triangle is the unrolled helix, it has squared length $h^2=L^2+(r\theta)^2$ due to Pythagoras. In terms of $\alpha$, we have $$\begin{align} L\tan\alpha &= r\theta \\ h\sin\alpha &= r\theta \\ h\cos\alpha &= L \end{align}$$

What you know is $L$, $\alpha$ and $r$, thus the easiest way to determine $\theta$ is $$ \theta = \frac Lr \tan\alpha \\ $$


Could you explain the reason why base $AB′$ has length $rθ$?

An angle of $2\pi$ associates to a full revolution of length $2\pi r$. Thus an angle of $\theta$ radians associates to an arc of length $r\theta$. "Backward" movement with $\theta<0$ gives negative values. If you want the length of a trajectory traced by a point rotated by $\theta$ radians, then it is $r|\theta|$.