Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Sierpinski's carpet

  • To: mathgroup at smc.vnet.net
  • Subject: [mg76742] Sierpinski's carpet
  • From: theverybastard at tin.it
  • Date: Sat, 26 May 2007 04:47:53 -0400 (EDT)

What I'm trying to do is basically constructing a Sierpinski's carpet
with
an algorithm that can be generalized to the construction of a Menger
Sponge.

e1 = {1, 0}; e2 = {0, 1}; p1 = {0, 0}; p2 = {1, 0}; p3 = {1, 1}; p4 = {0, 1};

Sierpinski[{p1_, p2_, p3_, p4_}] :=
Delete[Flatten[
Table[{p1 + m e1 + n e2, p2 + m e1 + n e2, p3 + n e2 + m e1,
p4 + m e1 + n e2}, {n, 0, 2}, {m, 0, 2}], 1], 5];


Sierpinski1 = Sierpinski[{p1, p2, p3, p4}]


Sierpinski2[ls_] := Flatten[Map[Sierpinski, ls], 1]


S2 = Sierpinski2[Sierpinski1]


Sierpinski3[n_] := Nest[Sierpinski2, {{p1, p2, p3, p4}}, n]


Sierpinski3[3]



Now, I'm not good enough to think of a much more complicated
construction
and the problem is that with this algorithm the lengths of the squares
I
construct at each step does not scale down with the level of the
carpet I'm
constructing: e.g. He builds 9 squares from the big one at the
beginning and
deletes the central one, it's ok. But as I Iterate the process at each
smaller square It builds squares of the same size, so what I get is
just a
big black figure. It obviously does this way because in the algorithm
there's no instruction to decrease the size of the base vectors
(e1,e2).
Thing is I can't think of a way to give mathematica that instruction
inside
the Nest or in the definition of  the basic "Sierpinski" function. I
need
some help. Thanks in advance. This is the expected result:
http://mathworld.wolfram.com/SierpinskiCarpet.html



  • Prev by Date: Fun with Manipulate
  • Next by Date: Re: Stopping Automatic Animation in v6
  • Previous by thread: Re: Fun with Manipulate
  • Next by thread: Re: Sierpinski's carpet