Spirals#

Archimedes’ spiral#

The parametric equations of Archimedes’ Spiral are

\[r(t) = a t,\]
\[x(t) = r \cos(t),\]
\[y(t) = r \sin(t).\]

Changing the parameter \(a\) controls the distance between loops.

See also Wikipedia [1399], MathWorld [1056], MathCurve [302].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D01_ArchimedesSpiral.py, and the XML code in the file D01_ArchimedesSpiral.2D.xml.

Archimedes_Spiral_a

Fermat’s spiral#

The parametric equations of Fermat’ spiral are

\[r(t) = \pm a \sqrt{t},\]
\[x(t) = r \cos(t),\]
\[y(t) = r \sin(t).\]

Changing the parameter \(a\) controls the distance between loops.

See also Wikipedia [1409], MathWorld [1062], MathCurve [1409].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D02_FermatSpiral.py, and the XML code in the file D02_FermatSpiral.2D.xml.

Fermats_Spiral_a

Hyperbolic Spiral#

The parametric equations of the hyperbolic spiral are

\[r(t) = \frac{a}{t},\]
\[x(t) = r \cos(t),\]
\[y(t) = r \sin(t).\]

Changing the parameter \(a\) controls the distance between loops.

See also Wikipedia [1413], MathWorld [1064], MathCurve [313].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D03_HyperbolicSpiral.py, and the XML code in the file D03_HyperbolicSpiral.2D.xml.

Hyperbolic_Spiral_a

Lituus#

The parametric equations of the Lituus are

\[r(t) = \frac{a}{\sqrt{t}},\]
\[x(t) = r \cos(t),\]
\[y(t) = r \sin(t).\]

Changing the parameter \(a\) controls the distance between loops.

See also Wikipedia [1416], MathWorld [1066], MathCurve [321].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D04_Lituus.py, and the XML code in the file D04_Lituus.2D.xml.

Lituus_a

Logarithmic Spiral#

The parametric equations of the logarithmic spiral are

\[r(t) = a \exp(k t),\]
\[x(t) = r \cos(t),\]
\[y(t) = r \sin(t).\]

where \(a>0\) and \(k \ne 0\) are real constants.

See also Wikipedia [1417], MathWorld [1067], MathCurve [322].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D05_LogarithmicSpiral.py, and the XML code in the file D05_LogarithmicSpiral.2D.xml.

Logarithmic_Spiral_a

Poinsot’s Spiral#

The parametric equations of the Poinsot spiral are

\[r(t) = \frac{a}{\alpha \cosh(k t) + \beta \sinh(k t)}, \quad \text{with } \alpha^2 + \beta^2 \ne 0.\]
\[x(t) = r \cos(t),\]
\[y(t) = r \sin(t).\]

where \(a>0\) and \(k \ne 0\) are real constants.

See also Wikipedia [1450], MathWorld [1079], MathCurve [332].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D06_PoinsotSpiral.py, and the XML code in the file D06_PoinsotSpiral.2D.xml.

Poinsot_Spiral_1_a

Cotes’s spiral#

The shape of spirals in the family depends on the parameters. The curves in polar coordinates, \((r, \theta), r>0\) are defined by one of the following five equations:

\[\begin{split}\frac{1}{r} = \begin{cases} A \cosh(k\theta + \varepsilon) \\ A \exp(k\theta + \varepsilon) \\ A \sinh(k\theta + \varepsilon) \\ A (k\theta + \varepsilon) \\ A \cos(k\theta + \varepsilon) \\ \end{cases}\end{split}\]

\(A > 0\), \(k > 0\) and \(\varepsilon\) are arbitrary real constants. \(A\) determines the size, \(k\) determines the shape, and \(\varepsilon\) determines the angular position of the spiral.

The first and third forms are Poinsot’s spirals; the second is the logarithmic spiral; the fourth is the hyperbolic spiral; the fifth is the epispiral.

See also Wikipedia [1445], MathWorld [1074].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D07_CotesSpiral.py, and the XML code in the file D07_CotesSpiral.2D.xml.

Cotes_spiral_case_1_a

Tanh Spiral#

This is a spiral proposed by Bourke [34], and also discussed by Meier [413]. It has the following parametric equations:

\[x(t) = \frac{\sinh(2t)}{\cos(2at) + \cosh(2t)},\]
\[y(t) = \frac{\sin(2at)}{\cos(2at) + \cosh(2t)},\]

with \(-\pi/2 \le t \le \pi/2\) and \(a>0\) (eg:2).

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D08_TanhSpiral.py, and the XML code in the file D08_TanhSpiral.2D.xml.

Tanh_Spiral_a

Nielsens Spiral#

Nielsen’s spiral, also called the sici spiral is the spiral with parametric equations

\[x(t) = a \cdot \mathrm{ci}(t),\]
\[y(t) = a \cdot \mathrm{si}(t),\]

where \(\mathrm{ci}(t)\) is the cosine integral and \(\mathrm{si}(t)\) is the sine integral.

See also Wikipedia [1449], MathWorld [1078], MathCurve [335].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D09_NielsenSpiral.py, and the XML code in the file D09_NielsenSpiral.2D.xml.

Nielsens_Spiral_a

Cornu Spiral#

The Cornu spiral, also known as a Euler spiral or clothoid, is the curve generated by a parametric plot of S(t) against C(t). A Cornu spiral has the property that its curvature at any point is proportional to the distance along the spiral, measured from the origin.

\[x(t) = a \cdot C(t),\]
\[y(t) = a \cdot S(t),\]

where \(C(t)\) and \(S(t)\) are the Fresnel integrals.

See also Wikipedia [1448], MathWorld [1073], MathCurve [328].

The Python code for the example below can be found online in the DataXlCalcNet repository or in the corresponding local DataXlCalcNet folder in the file D10_CornuSpiral.py, and the XML code in the file D10_CornuSpiral.2D.xml.

Cornu_Spiral_a