Suppose a point traces all possible routes jumping half-way towards the three vertices of an equilateral triangle. A special kind of shape appears — a fractal called the Sierpiński triangle that contains copies of itself at smaller and smaller scales:
Sierpiński triangle, jump = 1/2
And what if the point jumps 2/3rds of the way towards the vertices as it traces all possible routes? You get this dull fractal:
Triangle, jump = 2/3
But if you add targets midway along each side of the triangle, you get this fractal with the 2/3rds jump:
Triangle, jump = 2/3, side-targets
Now try the 1/2-jump triangle with a target at the center of the triangle:
Triangle, jump = 1/2, central target
And the 2/3-jump triangle with side-targets and a central target:
Triangle, jump = 2/3, side-targets, central target
But why stop at simple jumps like 1/2 and 2/3? Let’s take the distance to the target, td, and use the function 1-(sqrt(td/7r)), where sqrt() is the square-root and 7r is 7 times the radius of the circumscribing circle:
Triangle, jump = 1-(sqrt(td/7r))
Here’s the same jump with a central target:
Triangle, jump = 1-(sqrt(td/7r)), central target
Now let’s try squares with various kinds of jump. A square with a 1/2-jump fills evenly with points:
Square, jump = 1/2 (animated)
The 2/3-jump does better with a central target:
Square, jump = 2/3, central target
Or with side-targets:
Square, jump = 2/3, side-targets
Now try some more complicated jumps:
Square, jump = 1-sqrt(td/7r)
Square, jump = 1-sqrt(td/15r), side-targets
And what if you ban the point from jumping twice or more towards the same target? You get this fractal:
Square, jump = 1-sqrt(td/6r), ban = prev+0
Now try a ban on jumping towards the target two places clockwise of the previous target:
Square, jump = 1-sqrt(td/6r), ban = prev+2
And the two-place ban with a central target:
Square, jump = 1-sqrt(td/6r), ban = prev+2, central target
And so on:
Square, jump = 1-sqrt(td/6.93r), ban = prev+2, central target
Square, jump = 1-sqrt(td/7r), ban = prev+2, central target
These fractals take account of the previous jump and the pre-previous jump:
Square, jump = 1-sqrt(td/4r), ban = prev+2,2, central target
Square, jump = 1-sqrt(td/5r), ban = prev+2,2, central target
Square, jump = 1-sqrt(td/6r), ban = prev+2,2, central target
Elsewhere other-accessible
• Boole(b)an #2 — fractals created in similar ways