Re: Version 6 code for Manger Sponge????
- To: mathgroup at smc.vnet.net
- Subject: [mg78577] Re: Version 6 code for Manger Sponge????
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 4 Jul 2007 05:45:11 -0400 (EDT)
- Organization: Uni Leipzig
- References: <f6d79t$r6c$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi, splitCuboid[Cuboid[p1_, p2_]] := Module[{dx, dy, dz}, {dx, dy, dz} = (p2 - p1)/3; {Cuboid[p1 + {0, 0, 0}, p1 + {dx, dy, dz}], Cuboid[p1 + {0, 0, dz}, p1 + {dx, dy, 2 dz}], Cuboid[p1 + {0, 0, 2 dz}, p1 + {dx, dy, 3 dz}], Cuboid[p1 + {0, dy, 0}, p1 + {dx, 2 dy, dz}], Cuboid[p1 + {0, dy, 2 dz}, p1 + {dx, 2 dy, 3 dz}], Cuboid[p1 + {0, 2 dy, 0}, p1 + {dx, 3 dy, dz}], Cuboid[p1 + {0, 2 dy, dz}, p1 + {dx, 3 dy, 2 dz}], Cuboid[p1 + {0, 2 dy, 2 dz}, p1 + {dx, 3 dy, 3 dz}], Cuboid[p1 + {dx, 0, 0}, p1 + {2 dx, dy, dz}], Cuboid[p1 + {dx, 0, 2 dz}, p1 + {2 dx, dy, 3 dz}], Cuboid[p1 + {dx, 2 dy, 0}, p1 + {2 dx, 3 dy, dz}], Cuboid[p1 + {dx, 2 dy, 2 dz}, p1 + {2 dx, 3 dy, 3 dz}], Cuboid[p1 + {2 dx, 0, 0}, p1 + {3 dx, dy, dz}], Cuboid[p1 + {2 dx, 0, dz}, p1 + {3 dx, dy, 2 dz}], Cuboid[p1 + {2 dx, 0, 2 dz}, p1 + {3 dx, dy, 3 dz}], Cuboid[p1 + {2 dx, dy, 0}, p1 + {3 dx, 2 dy, dz}], Cuboid[p1 + {2 dx, dy, 2 dz}, p1 + {3 dx, 2 dy, 3 dz}], Cuboid[p1 + {2 dx, 2 dy, 0}, p1 + {3 dx, 3 dy, dz}], Cuboid[p1 + {2 dx, 2 dy, dz}, p1 + {3 dx, 3 dy, 2 dz}], Cuboid[p1 + {2 dx, 2 dy, 2 dz}, p1 + {3 dx, 3 dy, 3 dz}]} ] MengerSponge[0] = Cuboid[{0, 0, 0}, {1, 1, 1}] MengerSponge[n_Integer] := Module[{prev}, prev = MengerSponge[n - 1]; prev /. c_Cuboid :> splitCuboid[c] ] and MengerSponge[2] // Graphics3D will show you the second iteration. Regards Jens Zeno wrote: > Is there a notebook or code that works in Version 6 that makes a menger > Sponge to given iterations?? > > Notebooks that work in Veriosn 5 do not work in Verison 6. >