# Circus Trix

Here’s a trix, or triangle divided into six smaller triangles:

Trix, or triangle divided into six smaller triangles

Now each sub-triangle becomes a trix in its turn:

Trix stage #2

And again:

Trix #3

Trix #4

Trix #5

Trix divisions (animated)

Now try dividing the trix and discarding sub-triangles, then repeating the process. A fractal appears:

Trix fractal #1

Trix fractal #2

Trix fractal #3

Trix fractal #4

Trix fractal #5

Trix fractal #6

Trix fractal #7

Trix fractal (animated)

But what happens if you delay the discarding, first dividing the trix completely into sub-triangles, then dividing completely again? You get a more attractive and symmetrical fractal, like this:

And it’s easy to convert the triangle into a circle, creating a fractal like this:

Delayed-discard trix fractal converted into circle

Delayed-discard trix fractal to circular fractal (animated)

Now a trix fractal that looks like a hawk-god:

Trix hawk-god #1

Trix hawk-god #2

Trix hawk-god #3

Trix hawk-god #4

Trix hawk-god #5

Trix hawk-god #6

Trix hawk-god #7

Trix hawk-god (animated)

Trix hawk-god converted to circle

Trix hawk-god to circle (animated)

If you delay the discard, you get this:

And here are more delayed-discard trix fractals:

Various circular trix-fractals (animated)

Post-Performative Post-Scriptum

In Latin, circus means “ring, circle” — the English word “circle” is actually from the Latin diminutive circulus, meaning “little circle”.

# Fractangular Frolics

Here’s an interesting shape that looks like a distorted and dissected capital S:

A distorted and dissected capital S

If you look at it more closely, you can see that it’s a fractal, a shape that contains itself over and over on smaller and smaller scales. First of all, it can be divided completely into three copies of itself (each corresponding to a line of the fractangle seed, as shown below):

The shape contains three smaller versions of itself

The blue sub-fractal is slightly larger than the other two (1.154700538379251…x larger, to be more exact, or √(4/3)x to be exactly exact). And because each sub-fractal can be divided into three sub-sub-fractals, the shape contains smaller and smaller copies of itself:

Five more sub-fractals

But how do you create the shape? You start by selecting three lines from this divided equilateral triangle:

A divided equilateral triangle

These are the three lines you need to create the shape:

Fractangle seed (the three lines correspond to the three sub-fractals seen above)

Now replace each line with a half-sized set of the same three lines:

Fractangle stage #2

And do that again:

Fractangle stage #3

And again:

Fractangle stage #4

And carry on doing it as you create what I call a fractangle, i.e. a fractal derived from a triangle:

Fractangle stage #5

Fractangle stage #6

Fractangle stage #7

Fractangle stage #8

Fractangle stage #9

Fractangle stage #10

Fractangle stage #11

Here’s an animation of the process:

Creating the fractangle (animated)

And here are more fractangles created in a similar way from three lines of the divided equilateral triangle:

Fractangle #2

Fractangle #2 (anim)

(open in new window if distorted)

Fractangle #2 (seed)

Fractangle #3

Fractangle #3 (anim)

Fractangle #3 (seed)

Fractangle #4

Fractangle #4 (anim)

Fractangle #4 (seed)

You can also use a right triangle to create fractangles:

Divided right triangle for fractangles

Here are some fractangles created from three lines chosen of the divided right triangle:

Fractangle #5

Fractangle #5 (anim)

Fractangle #5 (seed)

Fractangle #6

Fractangle #6 (anim)

Fractangle #6 (seed)

Fractangle #7

Fractangle #7 (anim)

Fractangle #7 (seed)

Fractangle #8

Fractangle #8 (anim)

Fractangle #8 (seed)

# The Hex Fractor

A regular hexagon can be divided into six equilateral triangles. An equilateral triangle can be divided into three more equilateral triangles and a regular hexagon. If you discard the three triangles and repeat, you create a fractal, like this:

Adjusting the sides of the internal hexagon creates new fractals:

Discarding a hexagon after each subdivision creates new shapes:

And you can start with another regular polygon, divide it into triangles, then proceed with the hexagons:

# Hex Appeal

A polyiamond is a shape consisting of equilateral triangles joined edge-to-edge. There is one moniamond, consisting of one equilateral triangle, and one diamond, consisting of two. After that, there are one triamond, three tetriamonds, four pentiamonds and twelve hexiamonds. The most famous hexiamond is known as the sphinx, because it’s reminiscent of the Great Sphinx of Giza:

It’s famous because it is the only known pentagonal rep-tile, or shape that can be divided completely into smaller copies of itself. You can divide a sphinx into either four copies of itself or nine copies, like this (please open images in a new window if they fail to animate):

So far, no other pentagonal rep-tile has been discovered. Unless you count this double-triangle as a pentagon:

It has five sides, five vertices and is divisible into sixteen copies of itself. But one of the vertices sits on one of the sides, so it’s not a normal pentagon. Some might argue that this vertex divides the side into two, making the shape a hexagon. I would appeal to these ancient definitions: a point is “that which has no part” and a line is “a length without breadth” (see Neuclid on the Block). The vertex is a partless point on the breadthless line of the side, which isn’t altered by it.

But, unlike the sphinx, the double-triangle has two internal areas, not one. It can be completely drawn with five continuous lines uniting five unique points, but it definitely isn’t a normal pentagon. Even less normal are two more rep-tiles that can be drawn with five continuous lines uniting five unique points: the fish that can be created from three equilateral triangles and the fish that can be created from four isosceles right triangles:

# Rep It Up

When I started to look at rep-tiles, or shapes that can be divided completely into smaller copies of themselves, I wanted to find some of my own. It turns out that it’s easy to automate a search for the simpler kinds, like those based on equilateral triangles and right triangles.

(Please open the following images in a new window if they fail to animate)

# Hextra Texture

A hexagon can be divided into six equilateral triangles. An equilateral triangle can be divided into a hexagon and three more equilateral triangles. These simple rules, applied again and again, can be used to create fractals, or shapes that echo themselves on smaller and smaller scales.

# Tri Again

All roads lead to Rome, so the old saying goes. But you may get your feet wet, so try the Sierpiński triangle instead. This fractal is named after the Polish mathematician Wacław Sierpiński (1882-1969) and quite a few roads lead there too. You can create it by deleting, jumping or bending, inter alia. Here is method #1:

Divide an equilateral triangle into four, remove the central triangle, do the same to the new triangles.

Here is method #2:

Pick a corner at random, jump half-way towards it, mark the spot, repeat.

And here is method #3:

Bend a straight line into a hump consisting of three straight lines, then repeat with each new line.

Each method can be varied to create new fractals. Method #3, which is also known as the arrowhead fractal, depends on the orientation of the additional humps, as you can see from the animated gif above. There are eight, or 2 x 2 x 2, ways of varying these three orientations, so eight fractals can be produced if the same combination of orientations is kept at each stage, like this (some are mirror images — if an animated gif doesn’t work, please open it in a new window):

If different combinations are allowed at different stages, the number of different fractals gets much bigger:

• Continuing viewing Tri Again.

# V for Vertex

To create a simple fractal, take an equilateral triangle and divide it into four more equilateral triangles. Remove the middle triangle. Repeat the process with each new triangle and go on repeating it. You’ll end up with a shape like this, which is known as the Sierpiński triangle, after the Polish mathematician Wacław Sierpiński (1882-1969):

But you can also create the Sierpiński triangle one pixel at a time. Choose any point inside an equilateral triangle. Pick a corner of the triangle at random and move half-way towards it. Mark this spot. Then pick a corner at random again and move half-way towards the corner. And repeat. The result looks like this:

A simple program to create the fractal looks like this:

initial()
repeat
fractal()
altervariables()
until false

function initial()
v = 3 [v for vertex]
r = 500
lm = 0.5
endfunc

function fractal()
th = 2 * pi / v
[the following loop creates the corners of the triangle]
for l = 1 to v
x[l]=xcenter + sin(l*th) * r
y[l]=ycenter + cos(l*th) * r
next l
fx = xcenter
fy = ycenter
repeat
rv = random(v)
fx = fx + (x[rv]-fx) * lm
fy = fy + (y[rv]-fy) * lm
plot(fx,fy)
until keypressed
endfunc

function altervariables()
[change v, lm, r etc]
endfunc

In this case, more is less. When v = 4 and the shape is a square, there is no fractal and plot(fx,fy) covers the entire square.

When v = 5 and the shape is a pentagon, this fractal appears:

But v = 4 produces a fractal if a simple change is made in the program. This time, a corner cannot be chosen twice in a row:

function initial()
v = 4
r = 500
lm = 0.5
ci = 1 [i.e, number of iterations since corner previously chosen]
endfunc

function fractal()
th = 2 * pi / v
for l = 1 to v
x[l]=xcenter + sin(l*th) * r
y[l]=ycenter + cos(l*th) * r
chosen[l]=0
next l
fx = xcenter
fy = ycenter
repeat
repeat
rv = random(v)
until chosen[rv]=0
for l = 1 to v
if chosen[l]>0 then chosen[l] = chosen[l]-1
next l
chosen[rv] = ci
fx = fx + (x[rv]-fx) * lm
fy = fy + (y[rv]-fy) * lm
plot(fx,fy)
until keypressed
endfunc

One can also disallow a corner if the corner next to it has been chosen previously, adjust the size of the movement towards the chosen corner, add a central point to the polygon, and so on. Here are more fractals created with such variations: