[math-fun] A new 3d space filling curve?
Inspired by the recent thread on Hilbert curves, I decidedto think about cube filling curves that used a face diagonal as their basic move. For those of you who like to play along at home, here's an elementary formulation of the problem: Given 8 identical cubes, each marked with a line from (0,0,0) to (1,1,0), can you put them together into the [0,2]^3 cube in such a way that the marked lines form a path from (0,0,0) to (2,2,0) ? [intentional white space to hide solution] In the list below, I've identified Cubes by their vertex closest to the origin. Cube Path Start Path End ----------------------------------------- (0,0,0) (0,0,0) (1,0,1) (1,0,0) (1,0,1) (1,1,0) (0,1,0) (1,1,0) (1,2,1) (0,1,1) (1,2,1) (0,1,1) (0,0,1) (0,1,1) (1,0,1) (1,0,1) (1,0,1) (2,1,1) (1,1,1) (2,1,1) (1,2,1) (1,1,0) (1,2,1) (2,2,0) I would be interested if anyone could come up with something more pretty, either in terms of symmetry or in having fewer junction points where the path touches itself. Also, has anyone seen this space filling curve before? -Thomas C
On 9/18/08, Thomas Colthurst <thomaswc@gmail.com> wrote:
Inspired by the recent thread on Hilbert curves, I decidedto think about cube filling curves that used a face diagonal as their basic move.
For those of you who like to play along at home, here's an elementary formulation of the problem: Given 8 identical cubes, each marked with a line from (0,0,0) to (1,1,0), can you put them together into the [0,2]^3 cube in such a way that the marked lines form a path from (0,0,0) to (2,2,0) ? ... I would be interested if anyone could come up with something more pretty, either in terms of symmetry or in having fewer junction points where the path touches itself.
I haven't made an exhaustive search, but it does look to me as if such a path always revisits some vertex. This doesn't seem to matter very much --- it's cubes that you are visiting here, rather than vertices [just as well, since you must omit all those with odd coordinate sums!] A similar tour based on body-diagonals --- rather than face-diagonals or edges --- is easily seen to be impossible. But exactly why should this be so; and what is the corresponding situation for d-space? WFL
On Thu, Sep 18, 2008 at 2:38 PM, Fred lunnon <fred.lunnon@gmail.com> wrote:
On 9/18/08, Thomas Colthurst <thomaswc@gmail.com> wrote:
Inspired by the recent thread on Hilbert curves, I decidedto think about cube filling curves that used a face diagonal as their basic move.
For those of you who like to play along at home, here's an elementary formulation of the problem: Given 8 identical cubes, each marked with a line from (0,0,0) to (1,1,0), can you put them together into the [0,2]^3 cube in such a way that the marked lines form a path from (0,0,0) to (2,2,0) ? ... I would be interested if anyone could come up with something more pretty, either in terms of symmetry or in having fewer junction points where the path touches itself.
I haven't made an exhaustive search, but it does look to me as if such a path always revisits some vertex.
This doesn't seem to matter very much --- it's cubes that you are visiting here, rather than vertices [just as well, since you must omit all those with odd coordinate sums!]
A similar tour based on body-diagonals --- rather than face-diagonals or edges --- is easily seen to be impossible. But exactly why should this be so; and what is the corresponding situation for d-space?
Body-diagonal tours are only impossible if you use dyadic subdivision of the cube. For example, if you break up the square into 9 subsquares, you can do a tour like \/\ /\/ \/\ where the subsquares are visited in the order 123 654 789 This can be lifted to a 3d pattern where the 27 subcubes get visited in the order 1 2 3 | 12 11 10 | 25 26 27 6 5 4 | 13 14 15 | 24 23 22 7 8 9 | 16 17 18 | 19 20 21 -Thomas C
WFL
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun
If you allow branching, there's a body-diagonal fractal that gives the "Sierpinski carpet": 0: / 1: /\/ \ \ /\/ 2: /\/\/\/\/ \ \/ /\ \ /\/\/\/\/ \/\ \/\ / / / / \/\ \/\ /\/\/\/\/ \ \/ /\ \ /\/\/\/\/ 3: /\/\/\/\/\/\/\/\/\/\/\/\/\/ \ \/ /\ \/ /\ \/ /\ \/ /\ \ /\/\/\/\/\/\/\/\/\/\/\/\/\/ \/\ \/\/\/ /\/\/\ \/\ / / / /\ \ \ \/ / / / \/\ \/\/\/ /\/\/\ \/\ /\/\/\/\/\/\/\/\/\/\/\/\/\/ \ \/ /\ \/ /\ \/ /\ \/ /\ \ /\/\/\/\/\/\/\/\/\/\/\/\/\/ \/\/\/\/\ \/\/\/\/\ / /\ \/ / / /\ \/ / \/\/\/\/\ \/\/\/\/\ /\/ /\/ /\/ /\/ \ \ \ \ \ \ \ \ /\/ /\/ /\/ /\/ \/\/\/\/\ \/\/\/\/\ / /\ \/ / / /\ \/ / \/\/\/\/\ \/\/\/\/\ /\/\/\/\/\/\/\/\/\/\/\/\/\/ \ \/ /\ \/ /\ \/ /\ \/ /\ \ /\/\/\/\/\/\/\/\/\/\/\/\/\/ \/\ \/\/\/ /\/\/\ \/\ / / / /\ \ \ \/ / / / \/\ \/\/\/ /\/\/\ \/\ /\/\/\/\/\/\/\/\/\/\/\/\/\/ \ \/ /\ \/ /\ \/ /\ \/ /\ \ /\/\/\/\/\/\/\/\/\/\/\/\/\/ There's a fairly obvious version of this that does the Menger sponge (Sierpinski cube), though I've never seen it rendered. -- Mike Stay - metaweta@gmail.com http://math.ucr.edu/~mike http://reperiendi.wordpress.com
Thomas Colthurst wrote: For those of you who like to play along at home, here's an
elementary formulation of the problem: Given 8 identical cubes, each marked with a line from (0,0,0) to (1,1,0), can you put them together into the [0,2]^3 cube in such a way that the marked lines form a path from (0,0,0) to (2,2,0) ? [...] I would be interested if anyone could come up with something more pretty, either in terms of symmetry or in having fewer junction points where the path touches itself.
Parity considerations mean that you're only moving on half (well, 14 of 27) of the vertices in [0,2]^3. And while you start and end at vertices of the cube, other than that you can't visit any cube vertex: doing so would force you to revisit one of the eight cubelets (a cube vertex is only incident to one of them). So the seven intermediate points on your eight-segment path can only be drawn from the six face-centers of [0,2]^3, and there's no way to avoid revisiting a point at least once. Aside from the first and last step of the path, you're walking along the edges of an octahedron. As far as symmetry goes, it seems like the natural thing to want is for the path to be invariant under the 180-degree rotation about a face-center axis of symmetry which exchanges your start and end vertices, (i, j, k) -> (2-i, 2-j, k) in your coords. That means you only need to specify the first four steps of your path, and the last four are their image in the rotation. It also means that the midpoint of your path must be one of the vertices fixed by the rotation, i.e. either (1,1,0) or (1,1,2). Think of the octahedron as having antipodal pairs of points A+-, B+- and C+-, with A+ = (1,1,0) being the point adjacent to both the start and end vertices of the cube, and B+ = (1,0,1) and C+ = (0,1,1) being the other two points adjacent to the start vertex. Of course exchanging B with C is just reflection in the plane x=y, so to fix handedness we might as well assume a path always visits one of the Bs before one of the Cs. If we decide to only revisit a single point (and, equivalently, to visit every face center at least once), then there are two possible families of paths: giving the first half only, they are (1) Start >> A+ >> Bi >> Cj >> A- and (2) Start >> B+ >> Ai >> Cj >> A-i. Here i and j are independent choices of sign, so there are four paths in each family, but only two genuinely different ones -- the paths self-intersect, and you can traverse what happens between the two visits to a single node in either direction -- and even the two different ones look pretty darn similar. For those not sketching along at home, I'll try a verbal description: Family (1) starts and ends with paths to/from A+, so the original face diagonal on the big cube is preserved under the iteration, interrupted at its midpoint by a 6-step walk to antipode A- and back. Family (2) starts and ends with a two-step walk to the far face's midpoint A- and back, interrupted at its midpoint by a 4-step square path around the equator of the octahedron. So far I've treated this as a question about the 8-step path, but of course to fulfil Thomas's construction request, we need those 8 steps to be face diagonals of the 8 different cubelets as well. This turns out not to be a problem: there is a unique way to assign each path step to one of the two cubelets it borders. I don't think this is a deep statement, just the way it happens to come out. --Michael Kleber -- It is very dark and after 2000. If you continue you are likely to be eaten by a bleen.
participants (4)
-
Fred lunnon -
Michael Kleber -
Mike Stay -
Thomas Colthurst