This application is based on the work of Simon Plouffe.
The recipe is:
divide `p` points equally over the circumference of a circle and number them from
n = 0 to n = p-1.
Then join points `n` and (n × t) mod p with a straight line segment (a chord).
Variable `t` is a constant factor. We iterate over the times table of `t` and each time we take
the result modulo `p`.
In figure 1:

- join n=0 and 0 × 2 mod 10 = 0
- join n=1 and 1 × 2 mod 10 = 2
- join n=2 and 2 × 2 mod 10 = 4
- join n=3 and 3 × 2 mod 10 = 6
- join n=4 and 4 × 2 mod 10 = 8
- join n=5 and 5 × 2 mod 10 = 0
- join n=6 and 6 × 2 mod 10 = 2 (exists already)
- etc.

If t = 2, the curve forms a cardioid. If t = 3, the curve forms a nephroid.