Wolfram Research

Function Repository Resource:

DoyleSpiral

Source Notebook

Plot Doyle spirals

Contributed by: Dieter Steemann

ResourceFunction["DoyleSpiral"][p,q]

plots Doyle spirals for values p spiral arms and q circles per spiral revolution.

Details and Options

Doyle spirals are special logarithmic spirals of touching circles in which every circle is surrounded by a corona of six touching circles. A linear fractional transformation (or Möbius transformation) is applied to map such spirals (in particular, circle packings) into double spirals.
A logarithmic spiral starts at the origin and winds around the origin at an ever-increasing distance. The Möbius transformation z(z-1)/(z+1) maps the points (0,1,∞) of the real axis of the complex plane to the points (-1,0,1) on the real axis. Because Möbius transformations preserve circles, the result is a new circle packing in the shape of a double spiral centered at +1 and -1 on the real axis.
Graphics types are "Basic": spiral with parameters P and Q; "Möbius": basic spiral under Möbius transformation; "P-Q graph": spiral elements along P and Q axes in basic spiral.

Examples

Basic Examples

Plot a Doyle spiral:

In[1]:=
ResourceFunction["DoyleSpiral"][7, 25]
Out[1]=

Options

ColorFunction

Add a gradient for ColorFunction:

In[2]:=
ResourceFunction["DoyleSpiral"][2, 25, ColorFunction -> "ThermometerColors"]
Out[2]=

GraphicType

Select a GraphicType:

In[3]:=
ResourceFunction["DoyleSpiral"][2, 25, "GraphicType" -> "Moebius", "Type" -> "Q"]
Out[3]=
In[4]:=
ResourceFunction["DoyleSpiral"][4, 30, "GraphicType" -> "PQGraph"]
Out[4]=

PlotStyle

Add style directives:

In[5]:=
ResourceFunction["DoyleSpiral"][4, 30, "GraphicType" -> "Moebius", PlotStyle -> {Thick, EdgeForm[Black]}]
Out[5]=

Type

In[6]:=
ResourceFunction["DoyleSpiral"][7, 25, "GraphicType" -> "Moebius", "Type" -> "Q"]
Out[6]=

Requirements

Wolfram Language 11.3 (March 2018) or above

Resource History

Source Metadata

License Information