Spirals and Helices

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

Spirals and helices are curves that loop around and around without retracing the same path, preferably also avoiding self-intersection. In the plane, the only options are moving continuously outward or inward. In 3D space, there is also the option to move up or down, possibly combined with outward or inward motion. In this Demonstration, you can experiment with changing parameters on the displayed spirals or helices.

Contributed by: Tom Verhoeff  (May 2021)
(Eindhoven University of Technology, Netherlands)
Open content licensed under CC BY-NC-SA



Use the "time" slider to loop the orange point around and around. The cyan tube is the path traced by this point as it loops times around, where is set via the the slider "number of loops". You can control the radial and vertical motion of the point to avoid retracing the same path over and over again.

Use the " dependence on " and " dependence on " setter bars for the radial and vertical motion dependence on time. Use the sliders "radial speed" and " speed" to set these speeds.

The "spherical" dependency constrains the spiral to the surface of a unit sphere by properly synchronizing the radial and vertical motions to loop times around while traveling from the south pole to the north pole.

The "toroidal" dependency constrains the spiral to the surface of a torus. Use the "torus radius" slider to set the thickness of the torus and the "through/around speed ratio" slider to set the speed ratio between the two circular motions involved: through the hole and around the hole. When using a ratio of two integers , the path closes on itself after loops. Use the irrational numbers GoldenRatio or 1/GoldenRatio to spread the spirals. With a number like , the path almost closes after seven loops because is well approximated by 22/7, and similarly, with , the path almost closes after 22 loops. Use the bookmarks to view these examples.

Use the "tube radius" slider to set the radius of the tube. Use the "show" toggler bar to enable various visual extras. Use the "surface" setter bar to select which surface to show. Use the "close" checkbox to force the path to close by adding a segment between the starting and ending points.

You are encouraged to experiment with all kinds of combinations. For example, try a constant radial dependency with a logarithmic, spherical or toroidal vertical dependency, or try having both radial and vertical dependencies set to linear. How about a toroidal radial dependency combined with a constant vertical dependency? For the toroidal dependency, it is interesting to try values for radius that are more extreme: 0.5 (horn torus), 0.6 (spindle torus) or 1.0 (double-covered sphere).

It is interesting to animate the sliders "time" and "number of loops" via the Play button. The sliders "time step" and "loop step" control the corresponding step size.

Various parameter combinations are set as bookmarks, accessible by clicking + in the top right-hand corner.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.