To place objects equidistantly on an Archimedean (arithmetic) spiral, the arc length of the spiral has to increase linearly between the objects.

This is what I have so far: The length of a spiral is determined by $$ l = \frac{a}{2}\left[\varphi\cdot\sqrt{1+\varphi^2}+\ln \left(\varphi+\sqrt{1+\varphi^2} \right)\right] $$ I presume that solving this equation for $\varphi$ will give me what I need. But trying that with WolframAlpha leads to a timeout.

Is solving this equation for $\varphi$ really the right thing to do? If yes, how can I solve it?

  • 1
    $\begingroup$ Do you want the objects to have the same Euclidean distance from each other, or the same arc length along the spiral between them? $\endgroup$ – joriki Nov 13 '11 at 13:39
  • $\begingroup$ Yes, this one's quite related. $\endgroup$ – J. M. is a poor mathematician Nov 13 '11 at 15:45

In order to place points equidistantly according to the arc-length, you should place points at $\phi_k$ determined by $$ x_k = k \frac{\Delta \ell}{2 a} = \phi_k \cdot \sqrt{1+\phi_k^2} + \operatorname{arcsinh}(\phi_k) $$ This equation admits no solution in simple functions, but can be easily solved numerically.

Also for large $x_k$, $\phi_k \sim \sqrt{x_k}$. More precisely: $$ \phi_k \sim \sqrt{ \frac{1}{2} W\left( \frac{1}{2} \mathrm{e}^{2x_k -1}\right)} $$ where $W(x)$ is Lambert W function. This gives rather good placement (red rod represent approximate locations, and centers of the blue circles represent exact solutions):

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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