Tip: Change the Preset dropdown. Also try each with 180 rotation.
The algorithm is as follows:
- Create X points.
- Start from the first point.
- Randomly choose one of the points.
- Move ratio * (distance from the point) towards the point.
- Rotate x degrees around point.
- Draw a dot.
- Exit if the last 100 dots were already present.
- Goto 3.
It would appear that predictable patterns come from random numbers - or "chaos". In truth, some areas cannot be reached regardless of the points chosen and thus certain patterns are guaranteed. Some patterns rely on certain areas having a lower probability and hence you get different levels of "shading".
Chaos was written in Rust (because it's very fast and I like Rust) using The `wasm-bindgen` Guide's Julia example as a starting point. Chaos source on GitHub.