(* SierpinskiTriangle and SierpinskiPicture *) SierpinskiTriange[1]={Polygon[{{-1,0},{1,0},{0,Sqrt[3]}}]}; SierpinskiTriange[n_Integer]:= SierpinskiTriange[n]= N[Flatten[ SierpinskiTriange[ n-1] /. {Polygon[{a_,b_, c_}] \[Rule] {Polygon[{a, (a+b)/2, (a+c)/2}], Polygon[{(a+b)/2, b, (b+c)/2}], Polygon[{(a+c)/2, (b+c)/2, c}]}}]] SierpinskiPicture[n_, m_]:= Show[GraphicsArray[ Graphics[SierpinskiTriange[#], PlotRange\[Rule]All, PlotLabel \[Rule] StyleForm["Sierpinski " <> ToString[#], "SubSubsection", FontSize \[Rule] 8], AspectRatio \[Rule] Automatic]& /@ {n, m}]] (* ex1 *) SierpinskiPicture[1,2];SierpinskiPicture[3,4]; SierpinskiPicture[5,6]; SierpinskiPicture[7,8]; Show[Table[Graphics[{Hue[Sin[n]], SierpinskiTriange[n]}], {n,8}], PlotRange\[Rule] All, AspectRatio \[Rule] Automatic]; (* ex2 *) Show[% /. Polygon[l_] \[RuleDelayed] (* invert *) Polygon[#/#.#& /@ (# - {0, Sqrt[3.]/3}& /@ l)]];