@@ -12,6 +12,7 @@ A polyglot collection of composable generative art tools, with a focus on 2D com
1212* [ How to build] ( #how-to-build )
1313* [ Philosophy] ( #philosophy )
1414* [ Examples] ( #examples )
15+ * [ Chaotic attractors] ( #chaotic-attractors )
1516 * [ Asemic writing] ( #asemic-writing )
1617 * [ Random L-Systems] ( #random-l-systems )
1718* [ The tools] ( #the-tools )
@@ -29,6 +30,7 @@ A polyglot collection of composable generative art tools, with a focus on 2D com
2930 * [ streamline] ( #streamline )
3031 * [ traverse] ( #traverse )
3132 * [ urquhart] ( #urquhart )
33+ * [ attractor] ( #attractor )
3234 * [ Transformations] ( #transformations )
3335 * [ project.py] ( #projectpy )
3436 * [ geom2graph] ( #geom2graph )
@@ -96,6 +98,24 @@ to produce/consume a standard textual interface.
9698* Graphs are in [ TGF] ( https://en.wikipedia.org/wiki/Trivial_Graph_Format ) format
9799
98100# Examples
101+
102+ ## Chaotic attractors
103+ See the [ ` attractor ` ] ( #attractor ) tool for more details on how to generate these attractor images.
104+
105+ ![ ] ( examples/attractor/clifford.png )
106+
107+ ![ ] ( examples/attractor/ikeda.png )
108+
109+ ![ ] ( examples/attractor/johnny-svensson.png )
110+
111+ ![ ] ( examples/attractor/peter-de-jong.png )
112+
113+ ![ ] ( examples/attractor/tinkerbell.png )
114+
115+ ![ ] ( examples/attractor/fractal-dreams-ssss.png )
116+
117+ ![ ] ( examples/attractor/gumowski-mira.png )
118+
99119## Asemic writing
100120The following snippet generates random asemic writing glyphs
101121``` sh
@@ -553,6 +573,27 @@ point-cloud --seed 11878883030565683752 --points 20 --scale 200 |
553573` ` `
554574! [](examples/urquhart/urquhart.svg)
555575
576+ # ## attractor
577+ The ` attractor` tool is very similar to the [` streamline` ](# streamline) tool. It takes a Rune script
578+ defining a 2D dynamical system, and traces the trajectories of points in that system.
579+
580+ For example the [tinkerbell.rn](examples/attractor/tinkerbell.rn) script defines the Tinkerbell
581+ attractor:
582+
583+ ` ` ` sh
584+ attractor \
585+ --script ./examples/attractor/tinkerbell.rn \
586+ --output ./examples/attractor/tinkerbell.png \
587+ --output-format image \
588+ -x=-0.72 \
589+ -y=-0.64 \
590+ --iterations 500000
591+ ` ` `
592+ ! [](examples/attractor/tinkerbell.png)
593+
594+ You may use ` --output-format` to get WKT POINTs or LINESTRINGs instead of a PNG image, but the PGN
595+ image looks better than an SVG rendering of the WKT geometries.
596+
556597# # Transformations
557598# ## project.py
558599The ` project.py` tool can be used to project 3D geometries to 2D. It supports several projection
0 commit comments