Let's say we have a parametric $3\mathrm{d}$ curve $C$. How to "wrap" a helix around it? For a helix $(\sin(t),\cos(t),t)$, how to "replace" the $z$ axis with curve $C$?

  • 2
    $\begingroup$ You could compute a rotation minimizing frame along the curve and then apply the helix's $(\cos t, \sin t, t)$ formula within this frame. $\endgroup$ – Rahul May 11 '12 at 14:54

Not too hard. Start by constructing the tube surface corresponding to your curve.

Letting $\mathbf N(t)$ be the normal vector and $\mathbf B(t)$ be the binormal vector corresponding to your curve $\mathbf v(t)$, the tube surface for this curve with circular cross section of radius $r$ is $$\mathbf v(t)+r(\mathbf N(t)\cos\,v+\mathbf B(t)\sin\,v)$$

Your helical curve is then easily obtained by replacing the second parameter $v$ of the tube surface with $nt$, where the parameter $n$ controls the winding. Thus, the vector equation you need is

$$\mathbf v(t)+r(\mathbf N(t)\cos\,nt+\mathbf B(t)\sin\,nt)$$

  • $\begingroup$ ...and for a further generalization, replace the $\cos\,v$ and $\sin\,v$ with the two components of your favorite parametrically-represented plane curve. $\endgroup$ – J. M. is a poor mathematician May 11 '12 at 15:01
  • $\begingroup$ Any references? "Tube surface" isn't showing anything interesting in google. $\endgroup$ – zxc May 11 '12 at 15:09
  • $\begingroup$ How is your ${\bf N}(t)$ defined? Does it remain well-defined at points where the second derivative of the curve vanishes? $\endgroup$ – TonyK May 11 '12 at 15:11
  • $\begingroup$ @zxcv: I don't. But it's hopefully obvious why the normal and binormal vectors are needed here, no? $\endgroup$ – J. M. is a poor mathematician May 11 '12 at 15:12
  • $\begingroup$ Rahul's suggestion (comment to the original question) looks more sensible. $\endgroup$ – TonyK May 11 '12 at 15:13

The answer given won't always work very well. Assume that the original curve is planar. Any place it has an inflexion, the normal vector $N(t)$ will flip from one side of the curve to the other, and this will wreak havoc with your "helix". Things could get even worse for non-planar curves. You need some sort of continuous definition of a frame moving along the curve (which you can then use in place of the vectors $N(t)$ and $B(t)$. This frame doesn't really need to be "rotation-minimising", maybe, but at least it needs to be continuously varying as a function of t.

If the curve is planar, and $M$ denotes a unit vector normal to its plane, then using $N(t) = M \times T(t)$ and $B(t) = M$ will work, as long as $N(t)$ is continuous. Plug these into the equations given in the first answer.


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.