Cover of "Gödel, Escher, Bach"

The obvious (and maximal) candidate for the 3d object is $$\{\,(x,y,z)\in\Bbb R^3\mid (y,z)\in A_1, (x,z)\in A_2, (x,y)\in A_3\,\}$$ obtained by intersecting the maximal sets that give one of the three projections each. The question is if the projections of this maximal set are as desired. This is the case for the first projection if and only if for each $(y,z)\in A_1$ there exists $x\in\Bbb R$ such that $(x,y)\in A_3$ and $(x,z)\in A_2$. Similarly for the other two projections.

Hofstadter's examples work because already in the vertical bar of the E, there is so much material in the B (its lower line with final arc) that the G is guaranteed to work; and similarly, in the lower bar of the E, there is so much material in the G (its almost straight lower line) that the B is guaranteed to work; and finally the vertical bar of the B and the left end of the G are material enough to guarantee the E to work. So in a way, the trick is that the B and the G are less round than you might normally write them.


Ian Stewart, in one of the Scientific American columns, wrote on "What the hell is a digital sundial?" The idea was to define a shape that would cast a shadow showing the time as the sun moved across the sky. In a discussion of the Banach-Tarski paradox he essentially claimed that you could find a set to do any reasonable projections you want. I don't remember a careful proof being given. Wikipedia says the theorem was proved in 1987 by Kenneth Falconer.


This adds little to the discussion, but I made constructing an algorithm an exercise in Computational Geometry in C, p.154. It is a relatively easy program to write for orthogonal polygons, punching through the extrusion of each of the polygons orthogonally, and then checking whether or not the shadows are correct and the resulting 3D object is connected:


          JOE
In fact, if you discretize the polygons to follow a grid, then the "punching through" can be achieved by traversing a 3D binary array.