Saturday, 30 April 2011

The Impossible Snowflake

3D Koch Snowflake

Since the 2D Sierpinski Carpet projects nicely into 3D to give the Menger Sponge, and the 2D Sierpinski Triangle similarly up-dimensions to give the Sierpinski Pyramid, it seems obvious to try to get a 3D version of another famous 2D fractal construction, the Koch Snowflake.

A number of people have probably tried this over the years, but I haven't seen anyone manage it. The snag is that the "obvious" solution doesn't work. We're taught that the Koch Snowflake outline is created by assembling triangles, but if we try to use the most obvious triangle-based solid, the tetrahedron, we fail ... starting with a single tetrahedron and adding half-scale copies to each side initially produces a six-pointed profile, but after that it all goes horribly wrong (book, page 20). People have tried offsetting the positions of the daughter pieces to try to keep the shape looking interesting, but it's kinda cheaty.



So the secret to creating this "impossible" solid is not to use a standard approach. "Step One" is to understand that the Koch Snowflake doesn't have to be made out of triangles, it can also be built from hexagons (book, Figure 3.13, page 26), and "Step Two" is to remember that the simplest Platonic Solid with a hexagonal profile is the cube  ... when viewed corner-on.

The rest turns out to be simple. Take a cube, apply a 3×3 grid to each face to divide it up into 27 smaller cubes, and throw away the eight corner-pieces. Then do the same thing for each of the smaller remaining  cubes, and repeat.

The resulting fractal solid (diagrammed as Figure 37 in the book) has a crosslike fractal pattern on each of its six faces, and shows a perfect Koch Snowflake silhouette when viewed from each of the original cube's eight corners.
A 3D Koch Snowflake ... paperweight
I have one of these that I'm using as a paperweight. It's perhaps not the prettiest of fractal solids, but I suppose that it's not bad for something that wasn't really supposed to exist.

Sunday, 17 April 2011

The Diamond Eye Fractal

Starting the fractal tiling process ...
(click any image to enlarge)

The "Diamond Eye" is a fractal that I snuck into the book at the last minute as a small pagespace-filler without a title or figure number (on page 31). As a result, it's probably too small to see properly.

At first sight, this fractal looks like a fairly intricate (but unsignificant) crystal growth pattern with two competing seed types (in this case, clusters of horizontally- and vertically-aligned diamonds).
Iterations 3-5
We start with a horizontal diamond-shaped space, and add our first piece, a vertical diamond smaller than the original by a ratio of the square root of three (1.732-something). It wedges exactly across the centre of the space (top diagram, middle), and then we can’t go any further, so we switch to the second configuration. Scaling down by another factor of root[3], we can fit two horizontal diamonds into the left and right corners of the original space (top, right). Switching back to vertical mode, we can then wedge in four more smaller copies of the shape, and switching back to horizontal again lets us shove in a further eight. As the number of iterations increases we end up with a single solid mass of vertical diamonds growing out from the centre, competing with a hollow shell of horizontal diamonds growing in from the perimeter.
Iterations 6-8

Here’s what you end up with when you’ve carried out so many stages that you effectively have a single, solid,  frozen block (click to enlarge).
Fractal Rhombic Mesh
The important thing here is the shape of the boundary between the two “crystal” types. You can’t really see it too well in the above diagram, so we’ll colour the horizontal and vertical diamonds differently to emphasise the boundary.
Rhombic Koch Snowflake (interior and exterior)
Aha! And this is when we realise that what this “dual diamond” construction is really doing is sneakily growing a Koch Snowflake (I would have put "Rhombic Koch Snowflake" as this post's title, but it would have given away the punchline).

The internal network of cross-crossing diamond-ey shapes are still a bit distracting, so we’ll delete one of the two components. We’ll delete all the vertical diamonds and leave just the horizontals.
Rhombic Koch Snowflake (exterior only)
Yep, definitely a Koch Snowflake!

Saturday, 26 March 2011

A Tilable Space-filling Fractal Sponge

A fractal, tileable sponge ("Alt.Fractals", p.61)

Okay, so this one looks like a "stretch" version of the conventional Menger Sponge, using a 4×4×4 grid instead of 3×3×3 .. and it is ... but it's a bit more than that. It's not just an arbitrary variation on a math standard.

It's a space-filling solid.

Space-filling solids are kinda rare. A cube will tile 3D space (obviously), but the other Platonic Solids won't, at least, not individually. A small group of other regular-ish solids have the property, like the truncated octahedron (which has a mix of square and hexagonal sides), and the rhombic dodecahedron (which has twelve identical diamond-shaped faces), but you won't normally find any mentions of space-filling solids that are also fractals.

Let's look at this shape further. It's constructed by taking a cube and dividing it into a 4×4×4 grid of smaller cubes, and deleting central 2×2 columns through the centre of each face (and then repeating, ad infinitum).
The 4×4×4 grid gives us 64 smaller cubes, so when we then delete four cubes per face, and eight from the centre, we're eliminating 6×4+8=32 cubes, out of the original 64. Every time we cut a new generation of holes, the remaining volume of the sponge halves.



Now, how it tiles.

For the "zeroth" generation, we just have a simple cube, which will (obviously) tile an infinite 3D space as an array of (infinity^3) individual pieces. Now cut the first generation of holes into each piece. The holes punch an intersecting series of aligned 2×2 tunnels through the array, and where the 1×1 edge-columns of adjacent cubes touch, they form an intersecting series of 2×2 beams. The networks of columns and tunnels have the same shape, and we've already established that they have the same volume, so after one generation, we can take our infinite array, make a copy of it, and fit the copy exactly into the holes of the original to make it totally solid.

If we then take our resulting solid "dual" array, and cut the second-generation holes into each individual piece, the volume again halves, the new holes in both arrays again line up, and again we have identical networks of solids and spaces. Again, we can fit an identical offset copy of the original exactly into the spaces.

This goes on forever. For one of these sponges with n generations of holes, you can tile space solidly with n^2 overlapping copies of the sponge coexisting in the same space, so for the third-generation sponge shown in the photograph, you can interleave eight of them together.

For the "perfect" version of the sponge, with an infinite number of holes, you can tile space solidly with a block assembled from (2^infinity) overlapping "same-size" copies existing in the same space. Strange, but true.


So, it's Challenge Time! Can anyone find any other fractal solids that will completely tile space at a fixed size?

Thursday, 24 February 2011

"Delta" wireframe

Here's a wireframe view of the basic "Delta" building block and its first iteration, which hopefully gives a better idea of how the thing is constructed ...

The Baird Delta


The "Delta" is is one of my new favoritest fractals. It was difficult to discover because it didin't have any obvious 3D siblings. It kinda seems to be a one-off. I haven't found any record of it being documented before, I used it on page 161 of the book (anf referred to it as just the "Delta" fractal), but it really needs a more distinctive and search-engine-friendly name than just "Delta" ... so now, unless anyone can find evidence of prior work, I think I'm going to start referring to it as the Baird Delta. :)

The shape's building-block is a solid with six identical triangular faces. You can then cut away material to produce three smaller rotated copies of the original (and repeat), or stack three of the rotated blocks together to produce a larger copy. Similar things happen with the Sierpinski Pyramid, but this is a leetle bit more subtle in that the component blocks (and the main shape) aren't quite regular polyhedra, they have to be twisted perpendicularly at each iteration, and the shape doesn't seem to have an obvious two-dimensional fractal counterpart. This makes the shape more difficult to visualise and more difficult to stumble across. The first time that you see the shape, it probably takes a bit of squinting before you realise that the three corner-pieces are identical smaller angled copies of the whole thing, rotated from the original baseline by 90 degrees, and rotated with respect to their siblings by 120 degrees.

As  you iterate, the area of each face gets progressively nibbled away until it's effectively a Koch Curve (although its a differently-angled version of the curve to the one that gets used for the Koch Snowflake).

All in all, a cool shape. 

Thursday, 17 February 2011

Sticky Fingers

An example of a 'viscous fingering' fractal
An example of "viscous fingering" between two glass plates
This is a “finger fractal” that I noticed on the pavement a few days ago, embedded in somebody's basement skylight window. The effect is sometimes known as “viscous fingering”, and it happens when you glue two plates of glass or perspex together, and then slowly prise the plates apart at one edge before the glue is properly set.

Air penetrates between the plates, but the thick surface of the glue clings to the glass and doesn't want to retract. Eventually a weak point in the wall “fails”, and the glue behind the tip of the inclusion finds it easier to retract than the glue at the sides, and a finger of air extends into the glue.

These sorts of inclusions tend not to meet up and join – in fact they seem to avoid each other and maintain a critical distance – so presumably a region of glue that has a lot of “edge” (anchored to the glass by curved meniscus surfaces on multiple sides) is more strongly connected to the glass, and more difficult to get rid of. Once an air finger penetrates within a certain radius of another inclusion or edge, it seems to be easier for further penetration to happen somewhere else, so when a finger starts getting too near to another edge, or the plate separattion within the wedge reaches a critical point, the penetrating finger's progress "stalls", and a new finger breaks through the perimeter somewhere else. What we end up with is a branching system of inclusions, and a branching network of remaining glue, interleaved. 

We don't usually think of glue as being a "clever" material, and yet here it is, unwittingly helping to create complex, self-regulating branching designs that look more like the results of some sort of encroaching lifeform's growth pattern.

Friday, 21 January 2011

A Hypercomplex 3D Mandelbrot


I've already blogged elsewhere about hypercomplex numbers and 3D Mandelbrot solids.


That post included a pic of the nicest 3D Mandelbrot that I've come across so far, and I included it in the book on page 118 (as Figure 23.1). Anyway, I thought it'd be nice to do a quick animation and put it on YouTube (although, when I say "quick", it took a spare laptop two weeks to generate the original 45 frames of video).

When it came time to upload it, I realised that YouTube user xlace had already found the same solid and uploaded an animation of it back in 2009!



I actually prefer xlace's version, but I suppose that it's nice to have two.