This fractal is described in Mandelbrot’s ‘Fractals’ as the Arrowhead Curve, though he does mention that ‘turned sideways, it becomes a tropical fish’ so that is the approach I’ve taken here. It is very similar to the Koch curve, but instead of a single replacement rule, there are 4 alternating ones, which are reflections of each other. Whereas the Koch curve starts with a triangle, this starts with a rhombus, composed of two equilateral triangles. The top one gets progressively eaten away, while the bottom one gets expanded. This pattern is then repeated on each new triangle.

I refactored the code a bit from the Koch curve example, so it’s more organized and hopefully easier to understand.