Tuesday, April 14, 2015

octagonal iteration with GSP

Here is a little GSP iteration that I came across that I thought was worth sharing.

Start with a line segment - this provides the only "free" points in the sketch - everything else is constructed on top of this, starting with a square based on AB.

Next, construct the center of the square, and a circle centered on that square's center and diameter equal to the diagonal of the square.

Next, construct points on the circle midway between the points provided by the corners of the squares.

We'll iterate by mapping the original line segment onto pairs of these points (in GSP you can select the free points and map them onto other points derived from them). Mapping AB onto the pairs of adjacent points around the circle starts out like this:

And continuing on around the circle:

And so on ...

Until you get this:

Which is nice, but to unpack it a bit and see more of the patterns you can reduce the number of iterations and hide the original construction. Scaling back to one iteration, and hiding everything except the squares around the circle, you get this:

Simplifying even further you can just leave one side of the generated squares, say one of the sides that radiate out from the octagon in the middle.

If you start with this, the next two generations look something like stick men chasing each other, 

If instead you hide everything but the outermost edges of the squares around the central hexagon, you would begin with this exploded octagon:

And with two more generations you would have this pleasing pattern (finding the overlapping octagons below is not easy):

My favorite in this series is what you get from starting with the innermost edges of the squares - the octagon itself.

As you add more generations to this, the overlapping octagons slice each other into an interesting tessellation made up of octagons, squares, hexagons, triangles and a few other tiles that can be thought of as slices of octagons or shapes that fill in the gaps between them.

Here are some of the tiles suggested by this pattern:

Adding another generation produces even more tiles, formed by slicing and intersecting the tiles from the previous:

What if you started this whole thing with a triangle instead of a square? You might end up with a tessellation like this: