Sierpinski triangle/Graphical: Difference between revisions
Content deleted Content added
Line 1,254: | Line 1,254: | ||
Show[Graphics[{Opacity[1], Black, Map[Polygon, Sierpinski[8], 1]}, AspectRatio -> 1]]</lang> |
Show[Graphics[{Opacity[1], Black, Map[Polygon, Sierpinski[8], 1]}, AspectRatio -> 1]]</lang> |
||
Another faster version |
|||
<lang Mathematica>cf=Compile[{{A,_Real,2}}, |
|||
With[{a=A[[1]],b=A[[2]],c=A[[3]]}, |
|||
With[{ab=(a+b)/2,bc=(b+c)/2,ca=(a+c)/2}, |
|||
{{a,ab,ca},{ab,b,bc},{ca,bc,c}}]], |
|||
RuntimeAttributes->{Listable} |
|||
]; |
|||
n=3; |
|||
<lang Mathematica>sierpinski[v_, 0] := Polygon@v; |
|||
pts=Flatten[Nest[cf,N@{{{0,0},{1,0},{1/2,√3/2}}},n],n]; |
|||
sierpinski[v_, n_] := sierpinski[#, n - 1] & /@ (Mean /@ # & /@ v~Tuples~2~Partition~3); |
|||
Graphics |
Graphics[Polygon/@pts]</lang> |
||
<lang Mathematica>sierpinski = Map[Mean, Partition[Tuples[#, 2], 3], {2}] &; |
|||
p = Nest[Join @@ sierpinski /@ # &, {{{0, 0}, {1, 0}, {.5, .8}}}, 3]; |
|||
Graphics[Polygon@p]</lang> |
|||
[[File:MmaSierpinski.png]] |
[[File:MmaSierpinski.png]] |